Բովանդակություն:
- Քայլ 1: Կարգավորեք Pi Zero W- ը
- Քայլ 2: Միացեք WiFi- ին
- Քայլ 3: Թարմացրեք և տեղադրեք անհրաժեշտ ծրագրակազմը
- Քայլ 4. Միացեք սենսորին (այս օրինակում ՝ Arduino)
- Քայլ 5: Կարգավորեք WiFi մուտքի կետի հնարավորությունները
- Քայլ 6. Անցում Wifi մուտքի կետի և հաճախորդի ռեժիմների միջև
- Քայլ 7: Վերջնական դիտողություններ
- Քայլ 8: Python Logging Script- ի օրինակ
Video: Raspberry Pi Zero W Datalogger: 8 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Raspberry Pi Zero W- ի միջոցով կարող եք պատրաստել էժան և հեշտ օգտագործվող տվյալների գրիչ, որը կարող է կամ միացված լինել տեղական wifi ցանցին, կամ ծառայել որպես դաշտի մուտքի կետ, որը թույլ է տալիս անլար ներբեռնել տվյալները ձեր սմարթֆոնով:
Ես ներկայացրեցի այս կարգավորումը Ամերիկյան երկրաֆիզիկական միության աշնանային հանդիպման 2017 -ին ՝ որպես ձեր սեփական տվյալների գրանցման կարգաբերման միջոց: Այդ ներկայացումը կարող եք գտնել այստեղ:
Այն, ինչ ձեզ հարկավոր կլինի.
- A Raspberry Pi Zero W
- Միկրո SD քարտ
- USB մալուխ կամ USB սնուցման աղբյուր
- USB քարտի ընթերցիչ ունեցող համակարգիչ
-
Լրացուցիչ (բայց օգտակար).
- miniHDMI -> HDMI ադապտեր (Pi- ն էկրանին միացնելու համար)
- USB OTG ադապտեր (ստեղնաշարը Pi- ին միացնելու համար)
Քայլ 1: Կարգավորեք Pi Zero W- ը
Սկսելու համար տեղադրեք Rasbian- ի պատկերը microSD քարտի վրա (այս ձեռնարկում ես օգտագործել եմ 2017-07-05-raspbian-jessie-lite, հասանելի է այստեղ): Lite տարբերակը կարող է օգտագործվել (առանց աշխատասեղանի), քանի որ կարգավորումը կկատարվի հրամանի տողի միջոցով:
Տեղադրեք SD քարտը Pi- ի մեջ, միացրեք էկրանը և ստեղնաշարը և միացրեք այն `միացնելով հոսանքի մալուխը: Գլխազերծ կարգավորումը նույնպես հնարավոր է, բայց կպահանջի միանալ SSH- ով:
Pi- ի մուտքը գործարկելուց հետո (կանխադրված օգտվողի անուն ՝ pi, գաղտնաբառ ՝ ազնվամորի) և փոխել գաղտնաբառը «passwd» հրամանով:
Ստեղնաշարը կարող է կազմաձևվել ՝ տերմինալում մուտքագրելով «sudo raspi-config»:
Քայլ 2: Միացեք WiFi- ին
Ինտերնետին միանալու համար մենք Pi- ին կասենք, թե որ ցանցին միանալ: Սկսեք ՝ բացելով հետևյալ ֆայլը.
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Այստեղ ներքևում ավելացրեք ցանցի տվյալները.
ցանց = {
ssid = "ցանցի անուն" psk = "ցանցի գաղտնաբառ"}
Ձեռնարկությունների ցանցի դեպքում կարող եք օգտագործել հետևյալ կարգավորումը (հարմարեցնել WPA-EAP // TTLA // MSCHAPv2 կիրառելի պարամետրերին):
ցանց = {
ssid = "ssid" #Մուտքագրեք ձեր ցանցի անունը key_mgmt = WPA-EAP eap = TTLS identity = "xxxxx" #Մուտքագրեք ձեր մուտքի հաշվի գաղտնաբառը = "xxxxx" #Մուտքագրեք անցման փուլ 2 = "author = MSCHAPv2"}
Պահել ՝ սեղմելով CTRL+O, և դուրս գալ CTRL+X- ով:
Այժմ նշեք ձեր կազմաձևման ֆայլը/etc/network/interfaces- ում
sudo nano/etc/network/interfaces
Wlan0 մասը փոխեք հետևյալի.
ավտոմատ wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Կրկին պահեք ֆայլը (CTRL+O) և դուրս եկեք (CTRL+X):
Վերագործարկվելուց հետո (sudo reboot), ձեր wifi կապը պետք է աշխատի: Դուք կարող եք դա ստուգել ՝ վեբ կայք տեղադրելով.
ping www.google.com
Չեղարկել պինգը CTRL+C- ով
Pi- ի միջոցով SSH- ին անլար միանալու համար դուք պետք է միացնեք SSH- ն.
sudo raspi-config
Գնացեք «5 միջերեսային ընտրանքներ» և միացրեք SSH- ը: Հետո հետ գնացեք և դուրս եկեք կազմաձևից:
Փնտրեք Pi- ի IP հասցեն.
ifconfig
IP- ն կլինի wlan0 ինտերֆեյսի «inet addr:» տակ:
Այժմ կարող եք միանալ Pi- ին WiFi- ի միջոցով, եթե նույն ցանցում եք: Ներբեռնեք Putty (պատուհանների համար), մուտքագրեք IP հասցեն, որը գտել եք «Host name» բաժնում և սեղմել «Open»: Նախազգուշացումն ընդունելուց հետո այժմ պետք է կարողանաք տեսնել հրամանի տողը և մուտք գործել:
Քայլ 3: Թարմացրեք և տեղադրեք անհրաժեշտ ծրագրակազմը
WiFi- ի աշխատելուց հետո Pi- ն թարմացրեք հետևյալով.
sudo apt -get update -y && sudo apt -get upgrade -y
Թարմացման ավարտից հետո (դա կարող է տևել որոշ ժամանակ), տեղադրեք այն ծրագրաշարը, որով մենք կօգտագործենք.
sudo apt-get տեղադրել python3 python3-serial apache2 -y
Քայլ 4. Միացեք սենսորին (այս օրինակում ՝ Arduino)
Կամ միացրեք Arduino- ն ստեղնաշարի հետ USB հանգույցի միջոցով, կամ միացրեք Arduino- ն մեկ USB պորտի միջոցով և կարգավորեք SSH- ով WiFi- ի միջոցով:
Որպեսզի կարողանաք մուտք գործել սերիական նավահանգիստ, որին միացված է Arduino- ն, օգտակար է մուտք գործել կանխադրված pi հաշիվ: Քանի որ Arduino- ն սովորաբար նշանակվում է «/dev/ttyACM0» նավահանգստին, օգտագործեք հետևյալ հրամանը ՝ «pi» օգտագործողին նավահանգիստ մուտք գործելու համար.
sudo chown pi: /dev /ttyACM0
Ենթադրելով, որ Arduino- ն արդեն ստեղծվել է ՝ սերիական նավահանգստով տվյալներ ուղարկելու համար, դուք կարող եք տվյալները դիտել python- ում հետևյալ կերպ.
Բաց պիթոն;
պիթոն 3
Սերիայի ներմուծում.
ներմուծել սերիալ
Բացեք com պորտը.
ser = serial. Սերիալ (port = '/dev/ttyACM0', բաուդրատ = 9600, ժամկետ = 5)
Որտեղ Arduino- ի բաուդրատը այս դեպքում սահմանվել է 9600:
Կարող եք կարդալ և տպել տող ՝ գործելով հետևյալ ծածկագիրը.
ser.readline (). վերծանել ('utf-8')
Եթե այն աշխատում է, կարող եք փակել կապը և դուրս գալ Python- ից ՝
ser.close ()
ելք ()
Քայլ 5: Կարգավորեք WiFi մուտքի կետի հնարավորությունները
Տեղադրելով ձեր Pi Zero W- ն wifi մուտքի կետի ռեժիմում, կարող եք դրան միանալ ցանկացած wifi սարքի հետ: Սա թույլ է տալիս կարգավորել անտառահատիչը և ներբեռնել տվյալները wifi- ով, մալուխներ կամ վարորդներ չեն պահանջվում:
Դրա համար Adafruit- ն ունի լավ ձեռնարկ: Որոշ փոքր դիտողություններ.
- /Etc/hostapd/hostapd.conf վարորդի համար մի օգտագործեք վարորդի տողը:
- «Թարմացնել hostapd» քայլը չպետք է անհրաժեշտ լինի:
Եթե ձեռնարկի վերջում մուտքի կետը չի աշխատում, փորձեք վերագործարկել Pi- ն (sudo reboot):
Քայլ 6. Անցում Wifi մուտքի կետի և հաճախորդի ռեժիմների միջև
Երբեմն դուք կցանկանաք թարմացնել ծրագրակազմը կամ տեղադրել նոր ծրագրակազմ ձեր Raspberry Pi- ի վրա, բայց դա պահանջում է ինտերնետ կապ: Բարեբախտաբար, երկուսի միջև անցումը շատ հեշտ է:
Միացեք Pi- ին SSH- ով (մալուխի միջոցով, այլ ոչ թե wifi!): Սկսեք ՝ դադարեցնելով մուտքի կետի ծառայությունները.
sudo cystemctl stop hostapd.service
sudo cystemctl stop isc-dhcp-server.service
Այնուհետև խմբագրեք ցանցի միջերեսների ֆայլը.
sudo nano/etc/network/interfaces
Այստեղ դուք պետք է մեկնաբանեք հոստինգի պարամետրերը և չմեկնաբանեք ցանցի միացման պարամետրերը: Փոխեք այն հետևյալից.
#-Հյուրընկալման պարամետրեր.
allow-hotplug wlan0 iface wlan0 inet ստատիկ հասցե 192.168.42.1 ցանցային դիմակ 255.255.255.0 # -Nանցային (հաճախորդի) պարամետրեր ՝ #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Սրան ՝
#-Հոսթավորման պարամետրեր.
Պահեք և փակեք ֆայլը:
Հաջորդը, դուք գործարկում եք հետևյալ հրամանները.
sudo systemctl սկսել wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Այժմ ձեր Pi- ն պետք է նորից միանա wifi- ին ՝ թույլ տալով թարմացնել և տեղադրել ծրագրակազմ:
Մուտքի կետի ռեժիմին վերադառնալու համար անցեք/etc/network/interfaces- ի մեկնաբանությունների շուրջ և վերագործարկեք Pi- ը:
Քայլ 7: Վերջնական դիտողություններ
Վեբ կայքի տեղադրում
Apache սերվերը գտնվում է/var/www/հասցեում: Կանխադրված էջը փոխելու համար խմբագրեք /var/www/html/index.html ֆայլը:
Այստեղ կարող եք ֆայլերը հասանելի դարձնել wifi կապի միջոցով ներբեռնելու համար ՝ դիտարկիչով նավարկելով դեպի Pi- ի IP հասցե (192.168.42.1): Wանկացած wifi միացված սարք կարող է ներբեռնել դրանք առանց լրացուցիչ ծրագրակազմի:
SFTP կապ
SSH- ի միջոցով կարող է կատարվել FTP կապ: Դուք կարող եք օգտագործել Filezilla- ն ՝ մեծ քանակությամբ ֆայլեր արագ և հեշտ փոխանցելու համար (տես նկարը):
Իրական ժամանակի ժամացույց
Քանի որ Pi- ի ներքին ժամացույցը զգալիորեն կշարժվի, եթե ինտերնետին միացում չկա, իրական ժամանակի ժամացույցի (RTC) մոդուլ կպահանջվի, եթե ճշգրիտ ժամանակաչափ է պահանջվում: Նման մոդուլներից մեկը RasClock- ն է, տեղադրման հրահանգներին կարող եք ծանոթանալ այստեղ: Հասանելի են նաև i2c- ով հիմնված այլ ժամացույցներ (այսինքն ՝ DS3231)
Եզրակացություն
Եթե ամեն ինչ ճիշտ է ընթանում, ապա այժմ պետք է ունենաք աշխատող Pi Zero տվյալների հավաքագրիչ: Հաջորդ քայլում ներառված է պիթոնի գրանցման սցենարի օրինակ:
Քայլ 8: Python Logging Script- ի օրինակ
ներմուծել os
ժամանակից ներմուծել սերիա ժամանակից ներմուծել ժամանակից ներմուծել ամսաթվեր ներմուծել numpy որպես np ser = սերիա: Սերիալ (port = 'COM4', baudrate = 57600, timeout = 5) directory = r '\ var / www / html / data / anemometer / WMPro1352_ 'ser.flushInput () ser.flushOutput () try: while True: day_timestring = datetime.strftime (datetime.now (),'%Y%m%d ') file_today = directory + day_timestring +'.dat ' #կարդալ տվյալները և անմիջապես ստացեք ժամանակային գիծը = ser.readline (). վերծանել ('utf-8') nowtime = datetime.strftime (datetime.now (), '%Y-%m-%d%H:%M:% S.%f ') line = line.split (', ') try: u = float (տող [1]) բացառությամբ `u = np.nan փորձել: v = float (տող [2]) բացառությամբ` v = np.nan փորձել: w = float (տող [3]) բացառությամբ `w = np.nan փորձել: c = float (տող [5]) բացառությամբ` c = np.nan Ts = 1/403*c ** 2 - 273.15 փորձել.) fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+','+str (Ts)+','+ փող (Ta)+'\ n') fileobject.clos e () else: with open (file_today, 'w') as fileobject: fileobject.write ('"Time", "u", "v", "w", "c", "Ts", "Ta" / n ') fileobject.write (nowtime+', ') fileobject.write (str (u)+', '+str (v)+', '+str (w)+', '+str (c)+', '+str (Ts)+', '+str (Ta)+' / n ') fileobject.close () բացառությամբ KeyboardIntruptrupt: ser.close ()
Խորհուրդ ենք տալիս:
Փայտե LED խաղային ցուցադրում Powered by Raspberry Pi Zero: 11 քայլ (նկարներով)
Փայտե LED խաղային ցուցադրում Powered by Raspberry Pi Zero: Այս նախագիծը իրականացնում է 20x10 պիքսել WS2812 հիմքով LED էկրան ՝ 78x35 սմ չափսերով, որը կարելի է հեշտությամբ տեղադրել հյուրասենյակում ՝ ռետրո խաղեր խաղալու համար: Այս մատրիցայի առաջին տարբերակը կառուցվել է 2016 թվականին և վերակառուցվել շատ այլ մարդկանց կողմից: Այս փորձառու
YouTube բաժանորդների հաշվիչ ՝ օգտագործելով էլեկտրոնային թղթի ցուցադրում և Raspberry Pi Zero W: 5 քայլ (նկարներով)
YouTube- ի բաժանորդների հաշվիչ ՝ օգտագործելով էլեկտրոնային թղթի ցուցադրում և Raspberry Pi Zero W. Այս հրահանգում ես ձեզ ցույց կտամ, թե ինչպես ստեղծել ձեր սեփական Youtube- ի բաժանորդների հաշվիչը ՝ օգտագործելով էլեկտրոնային թղթի ցուցադրում, և Raspberry Pi Zero W ՝ YouTube API- ին հարցնելու համար: և թարմացրեք էկրանը: Էլեկտրոնային թղթի ցուցադրումները հիանալի են այս տեսակի նախագծերի համար, քանի որ դրանք ունեն
Waveshare Game-HAT MOD Ազնվամորի PI Zero/Zero W [EN/ES]: 4 քայլ
Waveshare Game-HAT MOD Ազնվամորի PI Zero/Zero W [EN/ES]. դա Raspberry Pi 2/3 / 3A + / 3B / 3B + / է, ես անձամբ նախընտրում եմ, որ խաղային վահանակը կարող է լինել
Alaska Datalogger: 5 քայլ (նկարներով)
Alaska Datalogger. Ալյասկան գտնվում է կլիմայի փոփոխության առաջմղման եզրին: Բավականին անփոփոխ լանդշաֆտ ունենալու ունակությունը `բնակեցված ածխի հանքավայրերի տարատեսակներով, հնարավորություն է տալիս բազմաթիվ հետազոտությունների: Մեր ընկեր Մոնթին հնագետ է, ով օգնում է
Arduino Datalogger: 8 քայլ (նկարներով)
Arduino Datalogger. Այս ձեռնարկում մենք պատրաստվում ենք պարզ տվյալների գրանցիչ կատարել Arduino- ի միջոցով: Բանն այն է, որ սովորեք Arduino- ի օգտագործման տեղեկատվության գրավման և տերմինալ տպելու հիմունքները: Մենք կարող ենք օգտագործել այս հիմնական կարգավորումը մի շարք առաջադրանքներ կատարելու համար: Սկսելու համար