Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Maghinang ng Lahat ng Mga Bahagi at Mag-upload ng Programa sa NodeMCU
- Hakbang 2: Pag-configure ng SQL Server
- Hakbang 3: Pag-configure ng File Server
- Hakbang 4: Dokumentasyon ng Gumagamit
- Hakbang 5: Pag-setup ng Modyul
- Hakbang 6: Ngayon Na Oras na Mag-ambag ng Data sa Cloud
- Hakbang 7: Pag-update sa Over the Air (OTA)
- Hakbang 8: Paano Ma-access ng User / Client ang Data …
- Hakbang 9: Mga Limitasyon ng Proyekto na Ito
- Hakbang 10: Karagdagang Mga Pagpapabuti Na Maaaring Magawa sa Project na Ito
- Hakbang 11: Ilang mga Salita para sa Madla
Video: Smart Distribution IoT Weather Monitoring System Paggamit ng NodeMCU: 11 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Maaari kayong lahat may kamalayan sa tradisyunal na istasyon ng panahon; ngunit naisip mo ba kung paano ito aktwal na gumagana? Dahil ang tradisyunal na istasyon ng panahon ay magastos at malaki, ang density ng mga istasyong ito sa bawat yunit ng yunit ay mas mababa na nag-aambag sa kawastuhan ng data. Ipaliwanag ko sa iyo kung paano: Ipagpalagay na ang isang istasyon ay matatagpuan sa gitna ng isang lungsod at ito lamang ang istasyon na matatagpuan sa 'x' meter radius, madali itong makiling kung ang anumang ahente na sanhi ng polusyon ay naroroon sa paligid ng istasyon na nagpapakita ng buong 'x' meter radius area bilang marumi dahil ang solong istasyon na iyon ay responsable upang matukoy ang data ng panahon ng buong lugar.
Upang mapagtagumpayan ang problemang ito, dapat dagdagan ang density ng mga module na posible lamang kung ang mga module ay mas mura at tumatagal ng isang mas maliit na bakas ng paa kaysa sa mayroon nang isa.
Ito ang dahilan ng aking iminungkahing solusyon ay ang perpektong solusyon para sa problemang ito, Mas mababa sa $ 10 ang gastos at madali ring nakasalalay sa aking palad.
Paano ito gumagana …
Mayroong 3 pangunahing bahagi ng proyektong ito.
Bahagi ng aparato:
Ang Device ay isang module ng IoT na ipinapakita sa larawan na nagpapadala ng data ng panahon sa server bawat agwat ng oras na 'x'. Kasama sa data ang aktwal na data ng panahon, ang lokasyon ng heograpiya ng module; ibig sabihin, Ang mga coordinate nito, ang MAC address; upang natatanging kilalanin ang aparato, ang bersyon ng firmware na kasalukuyan nitong tumatakbo. Ang panig ng aparato ay naglalaman ng mga N-module na ipinamamahagi sa buong lugar na aktibong nagbibigay ng data sa server.
Sa panig ng server:
Tulad ng ipinahihiwatig ng pangalan, ito ay ang sentralisadong server na humahawak ng maraming mga operasyon tulad ng pagtanggap ng data mula sa mga module at iimbak ito sa database, pag-update ng module sa pinakabagong firmware kung tumatakbo ito sa isang mas lumang bersyon, ipinapadala ang data ng panahon sa kapag hiniling ng kliyente.
Kliyente / panig ng Gumagamit:
Ito ang end-user na humiling ng data ng panahon mula sa server. Ipinapadala ng kliyente ang kasalukuyang lokasyon at batay sa lokasyon, kinakalkula ng server ang distansya sa pagitan ng kliyente at ng lahat ng mga module at ipinapadala ang data ng panahon ng pinakamalapit na module sa kliyente na itinuturing na tumpak.
Mga gamit
- NodeMCU (ESP8266-12E)
- DHT11 (Humidity at temperatura sensor)
- BMP180 (Pressure at Temperatura sensor)
- MQ-135 (Air quality index sensor)
-
USB cable (upang mai-upload ang programa)
- 5 volt supply ng kuryente
- Mga Capacitor (Opsyonal: mailagay kahilera sa powerline)
- Arduino IDE (Upang i-debug at i-upload ang programa)
- Application ng POSTMAN (opsyonal: i-debug ang API)
- Isang Website (upang i-host ang PHP at MySQL server)
Hakbang 1: Maghinang ng Lahat ng Mga Bahagi at Mag-upload ng Programa sa NodeMCU
Paghinang ng lahat ng mga bahagi sa NodeMCU tulad ng ipinakita sa circuit diagram sa isang perf board. Gayundin, maghinang ng isang kapasitor na kahanay ng mga powerline dahil umikot ang kuryente habang aktibong nagpapadala at tumatanggap ng data.
Kapag tapos na ang gawaing paghihinang, i-upload ang code na ibinigay sa file na "code.c".
Tandaan: Huwag kalimutang palitan ang mga kredensyal sa iyong sariling mga kredensyal. Ilagay din ang file na pinangalanang "html_file.h" sa loob ng arduino sketch folder. Ang lahat ng mga file ng header na ginamit sa proyektong ito ay matatagpuan dito
Mga tampok ng code:
Access Point: Dahil mahirap i-program ang bawat module na may mga kredensyal sa produksyon ng masa, nag-host ang module ng isang webpage sa unang boot nito upang tanggapin ang mga kredensyal ng WiFi kung saan kailangang kumonekta at maiimbak ng mga module sa EEPROM para magamit sa paglaon.
Kapag na-configure ang mga kredensyal, susuriin ng NodeMCU ang EEPROM para sa mga kredensyal at kumokonekta sa mga kredensyal ng WiFi na naroroon sa EEPROM.
Matapos matagumpay na pagkonekta sa WiFi, nagsisimula ang NodeMCU sa pag-upload ng data sa server bawat agwat ng 'x' ng oras, kasama sa data ang data ng panahon, MAC address ng module, bersyon ng firmware, lokasyon ng heyograpiya ng aparato.
Pag-update ng OTA: Sinusuri din ng module ang bagong pag-update ng firmware araw-araw sa isang tukoy na oras na tinukoy sa code. Kapaki-pakinabang ang tampok na ito dahil hindi posible para sa anumang tagagawa na magpatuloy at baguhin ang programa ng isang indibidwal na module kung sakaling may mga pagbabagong magagawa.
Watchdog Timer: Atlast dapat mayroong isang paraan upang mabawi ang sarili nito nang walang anumang interbensyon ng tao kung ito ay ma-stuck o mag-crash. Maaari itong makamit sa pamamagitan ng paggamit ng timer ng Watchdog. Ang paraan ng paggana nito ay: Mayroong isang Nakagambalang sub-routine na tumatakbo bawat segundo. Ang ISR ay nagdaragdag ng counter sa tuwing nagpapatupad ito at sinusuri kung umabot na sa maximum na bilang ang counter. Sa sandaling maabot ng counter ang maximum na halaga, i-reset ng module ang sarili sa pag-aakalang na-crash ito. Sa normal na operasyon, palaging nakakakuha ng reset ang counter bago maabot ang maximum na bilang.
Hakbang 2: Pag-configure ng SQL Server
Ang pag-set up ng SQL Server ay talagang simple din. Lumikha lamang ng isang database sa SQL server at I-import ang setting sa pamamagitan ng pag-import ng file na pinangalanang "database_structure.txt". Mahahanap mo ang file sa hakbang na ito. Dahil hindi pinapayagan ng pagtuturo na mag-upload ng ".sql" na mga file, pinalitan ko ng pangalan ang file na ".txt".
Tandaan: Palitan ang pangalan ng file mula sa ".txt" patungong ".sql".
Hakbang 3: Pag-configure ng File Server
Ang pag-configure ng server ay talagang madali kung nagmamay-ari ka ng isang website at ito ay naka-host sa online. Hindi ako dumaan sa buong pamamaraan ng pagse-set up ng isang website at pagho-host nito dahil lampas sa saklaw ng tutorial na ito. Ngunit maaari mo itong i-host sa iyong sariling pc bilang localhost upang subukan ang pagtatrabaho ng mga file.
Dahil hindi pinapayagan ng Instructable na mag-upload ng mga PHP file, pinalitan ko ng pangalan ang mga file sa ".txt".
Tandaan: Mangyaring palitan ang pangalan ng extension ng mga file sa ".php". Gayundin huwag kalimutang baguhin ang mga kredensyal ng "config.php" na file.
I-upload lamang ang mga file sa server at mahusay kang pumunta.
Bibigyan kita ng maikling impormasyon tungkol sa mga PHP file.
db_config.php:
Sa file na ito, ang lahat ng mga kredensyal na kinakailangan upang kumonekta sa SQL server ay nakaimbak.
db_connect:
Sa file na ito ang klase na kinakailangan para sa koneksyon sa database ay naroroon.
insert.php:
Tinatawag ng NodeMCU ang file na PHP na ito para sa pag-upload ng data sa server gamit ang pamamaraang GET. Responsable din ang file na ito na itabi ang parehong data sa SQL server.
kunin.php:
Tinatawagan ng User / Client ang PHP na ito gamit ang pamamaraang GET. Kinakalkula ng server ang distansya sa pagitan ng gumagamit at lahat ng mga module. Pagkatapos ang data ng pinakamalapit na module ay ipinadala bilang isang tugon sa client sa format na JSON / XML na ginusto ng kliyente.
update.php:
Ang file na PHP na ito ay tinatawag ng module araw-araw sa isang tukoy na oras upang suriin kung nagpapatakbo ang module ng pinakabagong bersyon ng firmware. Ilagay lamang ang pinakabagong ".bin" na file sa file server at tukuyin ang direktoryo ng file sa variable ng file.
Kung ang maraming mga file na ito ay tila nakakatakot sa una, isinama ko ang dokumentasyon ng gumagamit sa susunod na hakbang.
Hakbang 4: Dokumentasyon ng Gumagamit
Panimula:
Nagbibigay ang Weather API ng isang simpleng interface upang humiling ng data ng panahon para sa mga lokasyon sa ibabaw ng mundo. Humiling ka ng impormasyon ng panahon para sa isang tukoy na pares ng latitude / longitude na may tinukoy na format ng output. Ibinabalik ng API ang temperatura, halumigmig, presyon, at kalidad ng Air index na huling naitala ng pinakamalapit na module mula sa hiniling na lokasyon.
Bago ka magsimula:
Inilaan ang dokumentong ito para sa mga developer ng website at mobile na nais na isama ang impormasyon sa panahon sa isang application na binuo. Ipinakikilala nito ang paggamit gamit ang API at sanggunian na materyal sa mga magagamit na parameter.
Mga Kahilingan sa Data ng Panahon:
Ang mga kahilingan sa Weather API ay itinayo bilang isang string ng URL. Ibinabalik ng API ang data ng panahon para sa isang punto sa mundo, na tinukoy ng isang pares ng latitude / longitude. Tandaan na ang katumpakan ng data ng panahon ay direktang proporsyonal sa density ng mga module na inilagay sa isang lugar.
Ang isang kahilingan sa Weather API ay kumukuha ng sumusunod na form:
example.com/retrieve.php?lat=25.96446&lon=53.9443&format=json
Kung saan ang format na output (format) ay maaaring alinman sa mga sumusunod na halaga:
- Ang JSON (inirekomenda), ay nagpapahiwatig ng output sa JavaScript Object Notation (JSON); o
- Ang XML, ay nagpapahiwatig ng output sa XML, na nakabalot sa loob ng node.
Humiling ng Mga Parameter:
Tulad ng pamantayan sa lahat ng mga URL, pinaghiwalay ang mga parameter gamit ang ampersand (&) na character. Ang listahan ng mga parameter at ang kanilang mga posibleng halaga ay ipinahiwatig sa ibaba.
Mga Kinakailangan na Parameter:
- lat: Kumakatawan sa isang latitude ng isang lokasyon upang maghanap. (hal. lat = 19.56875)
- lon: Kumakatawan sa isang longitude ng isang lokasyon upang maghanap. (hal. lon = 72.97568)
Opsyonal na Mga Parameter:
format: Tinutukoy ang format ng output ng tugon ng data ng panahon. Maaari itong maging alinman sa JSON o XML. Ang default ay JSON. (hal. format = json o format = xml)
Mga Tugon sa Panahon:
Para sa bawat wastong kahilingan, ang serbisyo ng time zone ay magbabalik ng isang tugon sa format na nakasaad sa loob ng URL ng kahilingan. Ang bawat tugon ay maglalaman ng mga sumusunod na elemento:
-
tagumpay: isang halaga na nagpapahiwatig ng katayuan ng tugon.
- 0: Negatibo; ipinapahiwatig na ang hiling ay hindi maganda ang anyo.
- 1: Kumpirmado; ipinapahiwatig na ang kahilingan ay matagumpay.
- mensahe: isang string na nagsasaad ng dahilan para sa hindi maayos na kahilingan. Magagamit lamang kapag negatibo ang katayuan.
-
data: isang array na may maraming mga parameter ng panahon.
- temp: ang data ng temperatura.
- hum: ang data ng pagkakaroon ng halumigmig.
- pres: ang ganap na data ng presyon.
- aqi: ang kasalukuyang index ng kalidad ng Air.
Ang mga halimbawang tugon ng parehong format ay makikita sa mga imahe.
Hakbang 5: Pag-setup ng Modyul
Ang isang Access-point ay nilikha at ang isang webpage ay naka-host sa isang IP address (Default: 192.168.4.1) upang matanggap ang mga kredensyal mula sa manager ng aparato / gumagamit sa pinakaunang boot o kung hindi makita ng module ang nakaimbak na mga kredensyal sa EEPROM.
Kailangang ipasok ng gumagamit ang SSID at password kung saan nais ng gumagamit na kumonekta ang module. Awtomatikong napupunan ang latitude at longitude kung papayagan mong ma-access ng browser ang lokasyon.
Kapag naipasok na ang lahat ng mga detalye, mag-click sa pindutang "SEND", at pagkatapos ang lahat ng mga kredensyal ay nakasulat sa EEPROM ng module.
Napakahalaga ng hakbang na ito dahil habang gumagawa ng malawak ang mga module, hindi posible na mai-program ang lahat ng mga module na may eksaktong data ng lokasyon at mga kredensyal ng WiFi. Gayundin, hindi maipapayo na hard-code ang mga kredensyal sa programa dahil kung kinakailangan na ilipat namin ang module sa ilang iba pang lokasyon o nais na baguhin ang mga kredensyal ng WiFi, kakailanganin nating i-reprogram ang module. Upang maiwasan ang abala na ito, ipinatupad ang paunang pag-andar ng pag-setup.
Hakbang 6: Ngayon Na Oras na Mag-ambag ng Data sa Cloud
Matapos makumpleto ang lahat ng nakaraang mga hakbang, oras na nito upang hayaan ang module na i-upload ang data sa server. Awtomatiko itong nagsisimulang mag-upload sa sandaling nai-save mo ang mga kredensyal.
Tinatawag nito ang "insert.php" bilang isang tawag sa API na ipinapasa ang lahat ng mga parameter upang maipadala sa GET na pamamaraan.
Ipinapakita ng snippet ng code sa ibaba kung paano pinoproseso ang mga parameter.
kung (mag-isyu ($ _ GET ['temp']) && mag-isyu ($ _ GET ['hum']) && mag-isyu ($ _ GET ['pres']) && mag-isyu ($ _ GET ['aqi']) && mag-isyu ($ _ GET ['mac']) && pag-isyu ($ _ GET ['lat']) && pag-isyu ($ _ GET ['lon'])) 2. {3. // pangunahing programa 4.}
Tulad ng lahat ng mga module ay nagsisimulang mag-upload ng data.
Tandaan: Ibaba ang dalas ng pag-upload sa code kung sa palagay mo ang server ay nakakakuha ng labis na karga.
Hakbang 7: Pag-update sa Over the Air (OTA)
Matapos ang module ay naka-set up at nagsimulang mag-upload ng data, sinusuri nito ang mga pag-update ng firmware araw-araw sa isang tukoy na oras na nabanggit sa programa. Kung nakakahanap ito ng anumang, magda-download at mag-flash ang binary file dito. At kung hindi, nagpapatuloy ang normal na operasyon ng pag-upload ng data.
Upang suriin para sa isang bagong pag-update, tinawag ng module ang "update.php" sa pamamagitan ng pagpapadala ng MAC address sa header ng kahilingan nito. Sinusuri ng server kung ang tukoy na MAC address na iyon ay may anumang bagong pag-update, kung oo, ipinapadala nito ang binary file ng pinakabagong firmware bilang tugon.
Sinusuri din nito ang lahat ng kinakailangang mga header na kinakailangan para sa pangunahing pagpapatotoo ng modyul.
Hakbang 8: Paano Ma-access ng User / Client ang Data …
Ito ay medyo prangka upang ma-access ang data mula sa server. Sa pamamagitan lamang ng pagtawag sa "retrieve.php", makukuha namin ang data ng panahon bilang tugon sa format na JSON. Pagkatapos nito, isang bagay lamang sa pag-parse ang data ng JSON upang ma-access ang mga indibidwal na elemento. Katulad nito ay sa tugon sa XML. Palaging maaaring tukuyin ng gumagamit ang ginustong format ng tugon kung saan ang gumagamit ay komportable na gumana. Kung hindi tinukoy ng gumagamit ang format, ang default na format ay JSON.
Ang isang halimbawang kahilingan ay ginawa gamit ang tool na POSTMAN upang suriin ang pagtatrabaho ng API.
Ang isang halimbawa ng pag-parse ng tugon ng JSON sa javascript ay ipinapakita sa snippet ng code sa ibaba.
var url = "https://example.com/retrieve.php?lat=19.044848&lon=72.8464373";function httpGet (theUrl) {var xmlHttp = bagong XMLHttpRequest (); xmlHttp.open ("GET", theUrl, false); // false para sa magkasabay na kahilingan xmlHttp.send (null); ibalik ang xmlHttp.responseText; } var myVar = httpGet (url); var obj = JSON.parse (myVar); document.getElementById ("aqi"). panloobHTML = obj.data [0].aqi; document.getElementById ("temperatura"). panloobHTML = Math.round (obj.data [0].temp) + "° C"; document.getElementById ("temp"). innerHTML = Math.round (obj.data [0].temp) + "° C"; document.getElementById ("halumigmig"). panloobHTML = Math.round (obj.data [0].hum) + "%"; document.getElementById ("pressure"). innerHTML = Math.round (obj.data [0].pres) + "mb";
Ang source code ng halimbawang pahina ng HTML na pinag-parse ang tugon ng JSON ay magagamit sa pagtatapos ng hakbang na ito.
Tandaan: Palitan ang extension ng file sa ".html".
Hakbang 9: Mga Limitasyon ng Proyekto na Ito
- Gumagamit ang proyekto ng GET upang maipadala ang data; kahit na hindi ito nakikipag-ugnay sa sensitibong data, ang data ay maaaring madaling manipulahin dahil wala itong anumang mekanismo upang suriin ang pagiging tunay ng pinagmulan bukod sa pag-check sa mga header, na maaaring madaling mabago at kahit isang normal na aparato ay maaaring ma-spoofed para bang isang module ng panahon.
- Dahil ang module ay nakasalalay lamang at umaasa sa iba pang access-point (WIFI) upang ipadala ang data na sa karamihan ng kaso ay magiging ng ibang mga samahan. Kung sa lahat ng access-point ay wala sa serbisyo para sa ilang kadahilanan, ang module ay hindi maaaring magpadala ng data.
- Kahit na ang proyekto ay binuo upang madagdagan ang kawastuhan ng umiiral na system, ang sensor na magagamit sa merkado ay hindi gaanong tumpak kaysa sa inaasahan na kung saan ay humantong sa mabibigo ang pangunahing layunin.
- Habang pinaplano ang proyekto, binalak kong magsama ng isang mode kung saan ang server ay nag-average ng halaga ng data batay sa lokasyon para sa pagwawasto ng error. Ngunit sa pagpapatupad ng tampok na ito, napagtanto kong kailangan nito ng ilang mga third-party na API upang isalin ang mga coordinate sa mga heyograpikong rehiyon.
Hakbang 10: Karagdagang Mga Pagpapabuti Na Maaaring Magawa sa Project na Ito
- Ang kawastuhan ng module ay maaaring karagdagang napabuti sa pamamagitan ng espesyal na pag-aayos ng mga sensor para sa tiyak na layunin sa halip na gamitin ang generic na module na magagamit sa merkado.
- Ang modyul ay maaaring mabago upang gumana nang mas nakapag-iisa sa pamamagitan ng paggamit ng isang espesyal na maliit na tilad na wireless na nakikipag-usap sa mga Cell-tower upang maipadala ang data sa gayon ay nagpapabuti sa pagpapaubaya ng kasalanan.
- Ang solar panel at system ng baterya ay maaaring magamit kasabay ng deep-sleep mode ng ESP kaya't pinapabuti ang kahusayan ng kuryente at ginagawa itong mas malaya mula sa isang panlabas na suplay ng kuryente.
- Maaaring magamit ang POST upang magpadala ng data na may ilang mekanismo ng pagpapatunay tulad ng paggamit ng mga cyclic code para sa bawat paghahatid ng data.
- Sa halip na NodeMCU, na kung saan ay isang prototyping board, maaari kaming gumamit ng isang pasadyang microcontroller sa mass-production na hindi lamang binabawasan ang gastos ngunit din ang pinakamahusay na paggamit ng mga mapagkukunan ng system.
- Kasabay ng geolocation API ng Google at pagkonekta sa anumang magagamit na bukas na WIFI, ang module ay maaaring gumana nang hindi ito na-configure; handa nang magpadala ng data sa pabrika na walang kinakailangang pag-setup kung anupaman.
Hakbang 11: Ilang mga Salita para sa Madla
Hey guys, napagtanto ko na ito ay hindi isang tutorial na nagsisimula sa lahat dahil hindi ko nabanggit ang bawat solong detalye na kailangang masakop. At gayundin ang proyektong ito ay talagang malawak upang masakop sa isang Maituturo. Gayunpaman, sinubukan ko ang aking makakaya upang masakop ang bawat mahahalagang aspeto ng proyekto. Alam ko rin na ang isang video na nagpapakita ng pagtatrabaho ng proyekto ay talagang mahusay ngunit dahil ito ang aking unang itinuro at upang maging matapat, ito ang aking unang lathala ng anumang katulad nito, medyo kinakabahan ako na harapin ang isang camera
Kung kailangan mo ng anumang tulong sa paggawa ng proyektong ito o anumang katulad nito, makipag-ugnay lamang sa akin sa [email protected] o maaari kang mag-drop ng komento tulad ng lagi. Susubukan kong tulungan kayo sa abot ng aking makakaya.
Salamat!!
Inirerekumendang:
Remote Power Monitoring at Distribution System ng isang Solar Batay sa Power Plant: 10 Hakbang
Remote Power Monitoring and Distribution System ng isang Solar Base Power Plant: Ang layunin ng proyektong ito ay upang subaybayan at ipamahagi ang lakas sa mga power system (solar power system). Ang disenyo ng sistemang ito ay ipinaliwanag sa abstract tulad ng sumusunod. Naglalaman ang system ng maraming mga grid na may humigit-kumulang na 2 solar panel sa
Pool Pi Guy - AI Driven Alarm System at Pool Monitoring Paggamit ng Raspberry Pi: 12 Hakbang (na may Mga Larawan)
Pool Pi Guy - AI Driven Alarm System at Pool Monitoring Paggamit ng Raspberry Pi: Ang pagkakaroon ng isang pool sa bahay ay masaya, ngunit may malaking responsibilidad. Ang aking pinakamalaking pag-aalala ay ang pagsubaybay kung ang sinuman ay malapit sa pool na walang nag-aalaga (lalo na ang mga mas batang bata). Ang aking pinakamalaking inis ay siguraduhin na ang linya ng tubig sa pool ay hindi napupunta sa ibaba ng entr ng bomba
IoT Home Weather Monitoring System Sa Android Application Support (Mercury Droid): 11 Mga Hakbang
IoT Home Weather Monitoring System With Android Application Support (Mercury Droid): PanimulaMercury Droid ay isang uri ng IoT (Internet ng mga bagay) Naka-embed na system batay sa Mercury Droid Android Mobile Application. Alin ang may kakayahang sukatin ang & subaybayan ang aktibidad ng panahon sa bahay. ito ay napaka-mura sa lagay ng panahon sa pagsubaybay sa bahay
IoT Plant Monitoring System (Sa IBM IoT Platform): 11 Mga Hakbang (na may Mga Larawan)
Ang IoT Plant Monitoring System (Sa IBM IoT Platform): Pangkalahatang-ideya Ang Plant Monitoring System (PMS) ay isang application na itinayo sa mga indibidwal na nasa working class na may isang berdeng hinlalaki ang nasa isip. Ngayon, ang mga nagtatrabaho indibidwal ay mas abala kaysa dati; pagsusulong ng kanilang karera at pamamahala ng kanilang pananalapi.
Acurite 5 in 1 Weather Station Paggamit ng isang Raspberry Pi at Weewx (iba pang Mga Panahon ng Panahon ay Tugma): 5 Mga Hakbang (na may Mga Larawan)
Acurite 5 in 1 Weather Station Paggamit ng isang Raspberry Pi at Weewx (iba pang Mga Weather Stations ay Tugma): Nang binili ko ang Acurite 5 sa 1 istasyon ng panahon nais kong masuri ang lagay ng panahon sa aking bahay habang wala ako. Nang makauwi ako at naayos ko ito napagtanto ko na dapat kong magkaroon ng display na konektado sa isang computer o bumili ng kanilang smart hub,