Orodha ya maudhui:

Datalogger ya Raspberry Pi Zero W: Hatua 8 (na Picha)
Datalogger ya Raspberry Pi Zero W: Hatua 8 (na Picha)

Video: Datalogger ya Raspberry Pi Zero W: Hatua 8 (na Picha)

Video: Datalogger ya Raspberry Pi Zero W: Hatua 8 (na Picha)
Video: ПОЛНАЯ ИГРА ПОЛНЫЙ ПРОВАЛ 2 | КАМПАНИЯ — Прохождение / PS4 (Все шлемы пилотов) 2024, Novemba
Anonim
Ratiberi ya Raspberry Pi Zero W
Ratiberi ya Raspberry Pi Zero W

Kutumia Raspberry Pi Zero W, unaweza kutengeneza hifadhidata ya bei rahisi na rahisi, ambayo inaweza kushikamana na mtandao wa wifi wa ndani, au kutumika kama sehemu ya ufikiaji kwenye uwanja ambayo hukuruhusu kupakua data bila waya na smartphone yako.

Niliwasilisha usanidi huu kwenye Mkutano wa Kuanguka wa Jumuiya ya Amerika ya Geophysical 2017, kama njia ya kutengeneza usanidi wa kumbukumbu yako ya data. Unaweza kupata uwasilishaji hapa.

Nini utahitaji:

  • Raspberry Pi Zero W
  • Kadi ndogo ya SD
  • kebo ya USB au usambazaji wa umeme wa USB
  • Kompyuta iliyo na msomaji wa kadi ya USB
  • Hiari (lakini ni muhimu):

    • miniHDMI -> adapta ya HDMI (kuunganisha Pi kwenye skrini)
    • Adapter ya USB OTG (kuunganisha kibodi kwenye Pi

Hatua ya 1: Sanidi Pi Zero W

Ili kuanza, weka picha ya Rasbi kwenye kadi ya MicroSD (katika mafunzo haya nilitumia 2017-07-05-raspbian-jessie-lite, inapatikana hapa). Toleo la lite linaweza kutumika (bila eneo-kazi) kwani usanidi utafanywa kupitia laini ya amri.

Ingiza kadi ya SD ndani ya Pi, unganisha skrini na kibodi, na uiweke nguvu kwa kuziba kebo ya umeme. Kuweka kichwa bila kichwa pia kunawezekana, lakini itahitaji unganisho juu ya SSH.

Baada ya Pi kuwasha kuingia (jina la mtumiaji la msingi: pi, nywila: rasiberi), na ubadilishe nywila na amri "passwd".

Kibodi inaweza kusanidiwa kwa kuingiza "sudo raspi-config" kwenye terminal.

Hatua ya 2: Unganisha kwa WiFi

Unganisha na WiFi
Unganisha na WiFi
Unganisha na WiFi
Unganisha na WiFi
Unganisha na WiFi
Unganisha na WiFi
Unganisha na WiFi
Unganisha na WiFi

Ili kuunganisha kwenye wavuti, tutamwambia Pi ni mtandao gani wa kuunganisha. Anza kwa kufungua faili ifuatayo;

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Hapa, ongeza habari ya mtandao chini;

mtandao = {

ssid = "jina la mtandao" psk = "nywila ya mtandao"}

Katika kesi ya mtandao wa biashara, unaweza kutumia usanidi ufuatao (rekebisha WPA-EAP // TTLA // MSCHAPv2 kwa mipangilio inayotumika).

mtandao = {

ssid = "ssid" #Ingiza jina lako la mtandao key_mgmt = WPA-EAP eap = TTLS identity = "xxxxx" #Ingiza nenosiri la akaunti yako ya kuingia = "xxxxx" # Ingiza hati ya kupitisha phase2 = "auth = MSCHAPv2"}

Hifadhi kwa kubonyeza CTRL + O, na utoke na CTRL + X.

Sasa rejelea faili yako ya usanidi katika / nk / mtandao / miingiliano

Sudo nano / etc / network / interfaces

Badilisha sehemu ya wlan0 kuwa:

auto wlan0

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

Tena, weka faili (CTRL + O) na kisha utoke (CTRL + X).

Baada ya kuanza upya (sudo reboot), unganisho lako la wifi linapaswa kufanya kazi. Unaweza kujaribu hii kwa kupiga tovuti;

Ping www.google.com

Ghairi ping na CTRL + C

Ili kuungana na Pi juu ya SSH bila waya, unapaswa kuwezesha SSH:

Sudo raspi-config

Nenda kwenye "Chaguzi 5 za Kuingiliana", na uwezesha SSH. Kisha nenda nyuma na utoe usanidi.

Angalia anwani ya IP ya Pi:

ifconfig

IP itakuwa chini ya "inet addr:" ya kiolesura cha wlan0.

Sasa unaweza kuungana na Pi juu ya WiFi, ikiwa uko kwenye mtandao huo. Pakua Putty (kwa windows), ingiza anwani ya IP uliyopata chini ya "Jina la Mwenyeji", na bonyeza "Fungua". Baada ya kukubali onyo sasa unapaswa kuona mstari wa amri na uingie.

Hatua ya 3: Sasisha na usakinishe Programu Inayohitajika

Sasisha na usakinishe Programu Inayohitajika
Sasisha na usakinishe Programu Inayohitajika
Sasisha na usakinishe Programu Inayohitajika
Sasisha na usakinishe Programu Inayohitajika

Baada ya WiFi kufanya kazi, sasisha Pi na:

Sudo apt-pata sasisho -y && sudo apt-pata uppdatering -y

Baada ya sasisho kumaliza (inaweza kuchukua muda), sakinisha programu ambayo tutatumia na;

Sudo apt-get kufunga python3 python3-serial apache2 -y

Hatua ya 4: Unganisha kwenye Sensorer (katika Mfano huu Arduino)

Ama unganisha Arduino pamoja na kibodi ukitumia kitovu cha USB, au unganisha Arduino kupitia bandari moja ya USB, na ufanye usanidi na SSH juu ya WiFi.

Ili kuweza kufikia bandari ya serial ambayo Arduino imeunganishwa nayo, ni muhimu kutoa ufikiaji wa akaunti chaguo-msingi ya pi. Kama Arduino kawaida hupewa bandari "/ dev / ttyACM0", tumia amri ifuatayo kumpa mtumiaji wa 'pi' ufikiaji wa bandari:

sudo chown pi: / dev / ttyACM0

Kwa kudhani, kwamba Arduino tayari imewekwa kupeleka data juu ya bandari ya serial, unaweza kuona data katika chatu kwa njia ifuatayo:

Fungua chatu;

chatu3

Ingiza mfululizo:

kuagiza serial

Fungua bandari ya com:

ser = mfululizo. Serial (port = '/ dev / ttyACM0', baudrate = 9600, muda wa kumaliza = 5)

Ambapo baudrate ya Arduino iliwekwa kwa 9600 katika kesi hii.

Unaweza kusoma na kuchapisha laini kwa kutumia nambari ifuatayo:

mstari. mstari (). fafanua ('utf-8')

Ikiwa unafanya kazi, unaweza kufunga unganisho na kutoka kwa Python na:

karibu.

Utgång()

Hatua ya 5: Sanidi Uwezo wa Ufikiaji wa WiFi

Kwa kuanzisha Pi Zero W yako katika hali ya ufikiaji wa wifi, unaweza kuiunganisha na kifaa chochote cha wifi. Hii inaruhusu kuanzisha logger na kupakua data juu ya wifi, hakuna nyaya au dereva zinazohitajika.

Kwa hili, Adafruit ina mafunzo mazuri yanayopatikana. Maneno mengine madogo:

  • Kwa dereva /etc/hostapd/hostapd.conf, tumia usitumie laini ya dereva.
  • Hatua ya "Sasisha hostapd" haipaswi kuwa ya lazima.

Ikiwa sehemu ya ufikiaji haifanyi kazi mwishoni mwa mafunzo, jaribu kuwasha tena Pi (sudo reboot).

Hatua ya 6: Kubadilisha Kati ya Kituo cha Ufikiaji cha Wifi na Njia za Wateja

Wakati mwingine utataka kusasisha programu, au kusanikisha programu mpya kwenye Raspberry Pi yako, lakini hii inahitaji unganisho la mtandao. Kwa bahati nzuri kubadili kati ya hizo mbili ni rahisi sana.

Unganisha kwenye Pi na SSH (juu ya kebo, sio wifi!). Anza kwa kusimamisha huduma za kituo cha ufikiaji:

Sudo cystemctl kuacha hostapd.service

Sudo cystemctl kuacha isc-dhcp-server.service

Kisha hariri faili ya mwingiliano wa mtandao:

Sudo nano / etc / network / interfaces

Hapa unapaswa kutoa maoni ya vigezo vya kukaribisha, na usitoe maoni ya vigezo vya unganisho la mtandao. Badilisha kutoka kwa hii:

Vigezo # vya Kukaribisha:

ruhusu-hotplug wlan0 iface wlan0 inet tuli anwani 192.168.42.1 netmask 255.255.255.0 # -Network (mteja) vigezo: #uto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Kwa hili:

Vigezo vya #Hosting: # kuruhusu-hotplug wlan0 #iface wlan0 inet tuli # anwani 192.168.42.1 # netmask 255.255.255.0 # -Network (mteja) vigezo: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Hifadhi na funga faili.

Ifuatayo unaendesha amri zifuatazo:

Sudo systemctl kuanza wpa_supplicant.service

sudo ifdown wlan0 sudo ifup wlan0

Sasa Pi yako inapaswa kuungana na wifi tena, hukuruhusu kusasisha na kusanikisha programu.

Ili kurudi kwenye hali ya ufikiaji, badilisha maoni kwenye / nk / mtandao / miingiliano, na uwashe tena Pi.

Hatua ya 7: Maneno ya Mwisho

Hotuba ya Mwisho
Hotuba ya Mwisho

Usanidi wa wavuti

Seva ya apache iko katika / var / www /. Ili kubadilisha ukurasa wa msingi, hariri faili /var/www/html/index.html.

Unaweza kufanya faili hapa zipatikane kupakua juu ya unganisho la wifi, kwa kuvinjari kivinjari chako kwa anwani ya IP ya IP (192.168.42.1). Kifaa chochote kinachowezeshwa na wifi basi kinaweza kuzipakua bila programu yoyote ya ziada.

Uunganisho wa SFTP

Zaidi ya SSH, unganisho la FTP linaweza kufanywa. Unaweza kutumia Filezilla kuhamisha haraka na kwa urahisi idadi kubwa ya faili (angalia picha).

Saa Saa Halisi

Kwa kuwa saa ya ndani ya Pi itateleza sana ikiwa hakuna muunganisho kwenye mtandao, moduli ya saa halisi (RTC) itahitajika ikiwa utunzaji wa wakati unahitajika. Moduli moja kama hiyo ni RasClock, maagizo ya ufungaji yanaweza kupatikana hapa. Saa zingine za msingi za i2c zinapatikana pia (yaani. DS3231)

Hitimisho

Ikiwa kila kitu kilienda sawasawa, sasa unapaswa kuwa na mpangilio wa orodha wa Pi Zero! Mfano wa hati ya kukata miti ya chatu umejumuishwa katika hatua inayofuata.

Hatua ya 8: Mfano Hati ya Uingiaji wa Python

kuagiza os

kuagiza serial kutoka wakati wa kuingiza wakati kutoka wakati wa kuingiza wakati wa kuingiza wakati kama np ser = serial. Serial (port = 'COM4', baudrate = 57600, timeout = 5) directory = r '\ var / www / html / data / anemometer / WMPro1352_ 'ser. data na pata mara moja mstari wa saa = ser.lineline (). fafanua ('utf-8') sasa = wakati wa wakati. muda wa saa (datetime.now (), '% Y-% m-% d% H:% M:% S.% f ') line = line.split (', ') jaribu: u = kuelea (mstari [1]) isipokuwa: u = np.nan jaribu: v = kuelea (mstari [2]) isipokuwa: v = np.nan jaribu: w = kuelea (mstari [3]) isipokuwa: w = np.nan jaribu: c = kuelea (mstari [5]) isipokuwa: c = np.nan Ts = 1/403 * c ** 2 - 273.15 jaribu: Ta = kuelea (mstari [8]) isipokuwa: Ta = np.nan ikiwa (os.path.isfile (file_today)): na open (file_today, 'a') kama fileobject: fileobject.write (nowtime + ',' andika (str (u) + ',' + str (v) + ',' + str (w) + ',' + str (c) + ',' + str (Ts) + ',' + str (Ta) + '\ n') fileobject.clos e () kingine: na open (file_today, 'w') kama fileobject: fileobject.write ('"Time", "u", "v", "w", "c", "Ts", "Ta" / n ') fileobject.write (sasa wakati +', ') fileobject.write (str (u) +', '+ str (v) +', '+ str (w) +', '+ str (c) +', '+ str (Ts) +', '+ str (Ta) +' / n ') fileobject.close () isipokuwa KeyboardInterrupt: ser.close ()

Ilipendekeza: