Përmbajtje:

Raspberry Pi Zero W Datalogger: 8 hapa (me fotografi)
Raspberry Pi Zero W Datalogger: 8 hapa (me fotografi)

Video: Raspberry Pi Zero W Datalogger: 8 hapa (me fotografi)

Video: Raspberry Pi Zero W Datalogger: 8 hapa (me fotografi)
Video: Raspberry Pi Pico W WiFi Robot - Fácil con MicroPython - Paso a paso en Español 2024, Nëntor
Anonim
Raspberry Pi Zero W Datalogger
Raspberry Pi Zero W Datalogger

Duke përdorur një Raspberry Pi Zero W, mund të bëni një regjistrues të dhënash të lirë dhe të lehtë për t’u përdorur, i cili ose mund të lidhet me një rrjet wifi lokal, ose të shërbejë si një pikë hyrjeje në fushë e cila ju lejon të shkarkoni të dhëna me valë me smartphone tuaj.

Unë e paraqita këtë konfigurim në Takimin Vjeshtë të Unionit Gjeofizik Amerikan 2017, si një mënyrë për të bërë konfigurimin tuaj të regjistruesit të të dhënave. Atë prezantim mund ta gjeni këtu.

Çfarë do t'ju duhet:

  • Një Raspberry Pi Zero W
  • Një kartë mikro SD
  • një kabllo USB ose furnizim me energji USB
  • Një kompjuter me një lexues kartash USB
  • Opsionale (por e dobishme):

    • miniHDMI -> përshtatës HDMI (për të lidhur Pi në një ekran)
    • Përshtatës USB OTG (për të lidhur një tastierë me Pi

Hapi 1: Vendosni Pi Zero W

Për të filluar, vendosni një imazh Rasbian në një kartë microSD (në këtë tutorial kam përdorur 2017-07-05-raspbian-jessie-lite, në dispozicion këtu). Mund të përdoret një version lite (pa një desktop) pasi konfigurimi do të bëhet përmes vijës së komandës.

Vendosni kartën SD në Pi, lidhni ekranin dhe tastierën dhe ndizeni atë duke lidhur kabllon e energjisë. Konfigurimi pa kokë është gjithashtu i mundur, por do të kërkonte lidhjen përmes SSH.

Pasi Pi të ketë filluar hyrjen (emri i përdoruesit i paracaktuar: pi, fjalëkalimi: mjedër), dhe ndryshoni fjalëkalimin me komandën "passwd".

Tastiera mund të konfigurohet duke futur "sudo raspi-config" në terminal.

Hapi 2: Lidhuni me WiFi

Lidhu me WiFi
Lidhu me WiFi
Lidhu me WiFi
Lidhu me WiFi
Lidhu me WiFi
Lidhu me WiFi
Lidhu me WiFi
Lidhu me WiFi

Për t'u lidhur me internetin, ne do t'i tregojmë Pi se në cilin rrjet të lidhet. Filloni duke hapur skedarin e mëposhtëm;

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Këtu, shtoni informacionin e rrjetit në fund;

rrjet = {

ssid = "emri i rrjetit" psk = "fjalëkalimi i rrjetit"}

Në rastin e një rrjeti ndërmarrjeje, mund të përdorni konfigurimin e mëposhtëm (rregulloni WPA-EAP // TTLA // MSCHAPv2 në cilësimet e zbatueshme).

rrjet = {

ssid = "ssid" #Shkruani emrin e rrjetit tuaj key_mgmt = WPA-EAP eap = Identiteti TTLS = "xxxxx" #Futni fjalëkalimin e llogarisë suaj të hyrjes = "xxxxx" #Hyni fazën e kalimit2 = "auth = MSCHAPv2"}

Ruani duke shtypur CTRL+O dhe dilni me CTRL+X.

Tani referojeni skedarin tuaj të konfigurimit në/etc/network/interfaces

sudo nano/etc/network/interfaces

Ndryshoni pjesën wlan0 në:

auto wlan0

iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Përsëri, ruani skedarin (CTRL+O) dhe pastaj dilni (CTRL+X).

Pas rindezjes (sudo reboot), lidhja juaj wifi duhet të funksionojë. Ju mund ta provoni këtë duke pinguar një faqe në internet;

ping www.google.com

Anuloni ping me CTRL+C

Për t'u lidhur me Pi mbi SSH pa tel, duhet të aktivizoni SSH:

sudo raspi-config

Shkoni te "5 opsionet e ndërlidhjes" dhe aktivizoni SSH. Pastaj kthehuni dhe dilni nga konfigurimi.

Kërkoni adresën IP të Pi:

ifconfig

IP -ja do të jetë nën "inet addr:" të ndërfaqes wlan0.

Tani mund të lidheni me Pi përmes WiFi, nëse jeni në të njëjtin rrjet. Shkarkoni Putty (për dritaret), futni adresën IP që keni gjetur nën "Emri i hostit" dhe shtypni "Open". Pasi të keni pranuar paralajmërimin, tani duhet të jeni në gjendje të shihni vijën e komandës dhe të identifikoheni.

Hapi 3: Përditësoni dhe instaloni softuerin e kërkuar

Përditësoni dhe instaloni softuerin e kërkuar
Përditësoni dhe instaloni softuerin e kërkuar
Përditësoni dhe instaloni softuerin e kërkuar
Përditësoni dhe instaloni softuerin e kërkuar

Pasi WiFi është duke punuar, përditësoni Pi me:

sudo apt -merrni përditësim -y && sudo apt -merrni përmirësim -y

Pasi të ketë përfunduar përditësimi (mund të zgjasë pak), instaloni programin me të cilin do të përdorim;

sudo apt-get install python3 python3-serial apache2 -y

Hapi 4: Lidhuni me një sensor (në këtë shembull një Arduino)

Ose lidhni Arduino së bashku me një tastierë duke përdorur një shpërndarës USB, ose lidhni Arduino përmes një porti të vetëm USB dhe bëni konfigurimin me SSH përmes WiFi.

Për të qenë në gjendje të hyni në portin serik me të cilin është lidhur Arduino, është e dobishme të jepni qasje në llogarinë e paracaktuar pi. Ndërsa Arduino zakonisht caktohet në portin "/dev/ttyACM0", përdorni komandën e mëposhtme për t'i dhënë përdoruesit 'pi' qasje në port:

sudo chown pi: /dev /ttyACM0

Duke supozuar, se Arduino tashmë është krijuar për të dërguar të dhëna mbi portin serik, ju mund t'i shihni të dhënat në python në mënyrën e mëposhtme:

Python i hapur;

python3

Seriali i importit:

serial importi

Hapni portën com:

ser = serial. Serial (port = '/dev/ttyACM0', baudrate = 9600, timeout = 5)

Ku baudrati i Arduino ishte vendosur në 9600 në këtë rast.

Ju mund të lexoni dhe printoni një rresht duke ekzekutuar kodin e mëposhtëm:

ser.readline (). deshifroj ('utf-8')

Nëse e keni duke punuar, mund ta mbyllni lidhjen dhe të dilni nga Python me:

ser.mbylle ()

dalje ()

Hapi 5: Vendosni aftësitë e pikës së hyrjes WiFi

Duke vendosur Pi Zero W tuaj në modalitetin e pikës së hyrjes wifi, mund të lidheni me të me çdo pajisje wifi. Kjo lejon vendosjen e regjistruesit dhe shkarkimin e të dhënave përmes wifi, nuk kërkohen kabllo ose drejtues.

Për këtë, Adafruit ka një tutorial të mirë në dispozicion. Disa vërejtje të vogla:

  • Për shoferin /etc/hostapd/hostapd.conf, mos përdorni vijën e shoferit.
  • Hapi "Përditëso hostapd" nuk duhet të jetë i nevojshëm.

Nëse pika e hyrjes nuk funksionon në fund të mësimit, provoni të rindizni Pi (rindezja sudo).

Hapi 6: Kalimi midis Pikës së Qasjes Wifi dhe Modaliteteve të Klientit

Ndonjëherë do të dëshironi të azhurnoni softuerin ose të instaloni softuer të ri në Raspberry Pi tuaj, por kjo kërkon një lidhje interneti. Për fat të mirë kalimi midis të dyve është shumë i lehtë.

Lidhuni me Pi me SSH (përmes një kablli, jo wifi!). Filloni duke ndaluar shërbimet e pikës së hyrjes:

sudo cystemctl stop hostapd.service

sudo cystemctl stop isc-dhcp-server.shërbimi

Pastaj redaktoni skedarin e ndërfaqeve të rrjetit:

sudo nano/etc/network/interfaces

Këtu duhet të komentoni parametrat e pritjes dhe të mos komentoni parametrat e lidhjes në rrjet. Ndryshojeni nga kjo:

#-Parametrat e strehimit:

allow-hotplug wlan0 iface wlan0 inet adresa statike 192.168.42.1 maskë në internet 255.255.255.0 # -Pamimet e rrjetit (klienti): #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Për këtë:

#-Parametrat e strehimit: #allow-hotplug wlan0 #iface wlan0 inet static #adresa 192.168.42.1 #maskë me rrjetë 255.255.255.0 #-Parametrat e rrjetës (klienti): auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.con

Ruani dhe mbyllni skedarin.

Tjetra ju ekzekutoni komandat e mëposhtme:

sudo systemctl filloni wpa_supplicant.service

sudo ifdown wlan0 sudo ifup wlan0

Tani Pi juaj duhet të lidhet përsëri me wifi, duke ju lejuar të azhurnoni dhe instaloni softuer.

Për t'u kthyer në modalitetin e pikës së hyrjes, kaloni rreth komenteve në/etc/network/interfaces dhe rindizni Pi.

Hapi 7: Vërejtjet përfundimtare

Vërejtjet përfundimtare
Vërejtjet përfundimtare

Konfigurimi i faqes në internet

Serveri apache ndodhet në/var/www/. Për të ndryshuar faqen e paracaktuar, modifikoni skedarin /var/www/html/index.html.

Ju mund t'i bëni skedarët këtu të disponueshëm për t'u shkarkuar përmes lidhjes wifi, duke lundruar në shfletuesin tuaj në adresën IP të Pi (192.168.42.1). Çdo pajisje e aktivizuar me wifi mund t'i shkarkojë ato pa ndonjë softuer shtesë.

Lidhje SFTP

Mbi SSH, mund të bëhet një lidhje FTP. Ju mund të përdorni Filezilla për të transferuar shpejt dhe lehtë një sasi të madhe skedarësh (shiko figurën).

Ora në kohë reale

Meqenëse ora e brendshme e Pi do të zhvendoset ndjeshëm nëse nuk ka lidhje me internetin, do të nevojitet një modul i orës në kohë reale (RTC) nëse kërkohet mbajtje e saktë e kohës. Një modul i tillë është RasClock, udhëzimet e instalimit mund të gjenden këtu. Orë të tjera të bazuara në i2c janë gjithashtu në dispozicion (dmth. DS3231)

Përfundim

Nëse gjithçka shkoi si duhet, tani duhet të keni një regjistrues të të dhënave Pi Zero që punon! Një shembull i skriptit të regjistrimit të python përfshihet në hapin tjetër.

Hapi 8: Shembull i Python Logging Script

importo os

serial importi nga koha kohë importi nga dataetate import datetime import numpy si np ser = serial. Serial (port = 'COM4', baudrate = 57600, timeout = 5) directory = r '\ var / www / html / data / anemometer / WMPro1352_ 'ser.flushInput () ser.flushOutput () provo: ndërsa True: day_timestring = datetime.strftime (datetime.now (),'%Y%m%d ') file_today = directory + day_timestring +'.dat '#Read out të dhënave dhe merrni menjëherë linjën kohore = ser.readline (). deshifroj ('utf-8') tani = datetime.strftime (datetime.now (), '%Y-%m-%d%H:%M:% S.%f ') line = line.split (', ') provoni: u = notoni (rreshti [1]) përveç: u = np.nan provoni: v = notoni (rreshti [2]) përveç: v = np.nan provoni: w = noton (rreshti [3]) përveç: w = np.nan provoni: c = notoni (rreshti [5]) përveç: c = np.nan Ts = 1/403*c ** 2 - 273.15 provo: Ta = noton (rreshti [8]) përveç: Ta = np.nan nëse (os.path.isfile (file_today)): me hapur (file_today, 'a') si fileobject: fileobject.write (tani++, ') fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+','+str (Ts)+','+ str (Ta)+'\ n') fileobject.clos e () tjetër: me hapur (file_today, 'w') si fileobject: fileobject.write ('"Koha", "u", "v", "w", "c", "Ts", "Ta" / n ') fileobject.write (tani++,') fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+', '+str (Ts)+', '+str (Ta)+' / n ') fileobject.close () përveç KeyboardIntrupt: ser.close ()

Recommended: