Wa Koodu

Iṣẹ́ ìkọ́kọ̀ọ́ Remote Relay: 13 Mile Láìsí Wi-Fi/Láìsí SIM Heltec LoRa 32 Module

Ikẹkọ yii jẹ apakan ti: Ifihan si WiFi LoRa

Iṣẹ́ ìkọ́kọ̀ọ́ Remote Relay: 13 Mile Láìsí Wi-Fi/Láìsí SIM Heltec LoRa 32 Module

Iṣakoso LoRa Gigun pẹlu Heltec WiFi LoRa 32

Fojú inú wo pé o lè ṣàkóso afẹ́fẹ́, iná, pọ̀ǹpù omi, tàbí ìtànìlétí aabo láti ọ̀nà tí ó ju 15 maili tàbí 21 kìlómítà lọ, láìsí SIM káàdì tàbí sísan owó kankan. Èyí ṣeé ṣe pẹ̀lú ìmọ̀-ẹ̀rọ LoRa (Long Range), nínú ìtọ́sọ́nà yìí, a ó fi ọ̀nà pàtàkì hàn ọ́ láti kọ́ irú ẹ̀rọ bẹ́ẹ̀. A ó lo Heltec WiFi LoRa 32 module tí ó lágbára, tí a kó sínú àpótí Meshnology N35 tí ó ní bàtìrì 3000mAh fún iṣẹ́ pípẹ́.

Iṣẹ́ yìí yóò fi hàn bí a ṣe le ṣètò olùránṣẹ́ àti olùgbà láti ṣàkóso ẹrù ní ọ̀nà méjì: iṣẹ́ títan/típa rírọrùn àti iṣẹ́ tí ó yípadà. A ó bòrò nípa àkójọpọ̀ ẹ̀rọ, ìsopọ̀ waya, àwọn ètò kóòdù, àti fi ìdánwò ibi gbígbé hàn ọ́.


Àwọn Ẹ̀yà àti Ẹ̀rọ

Nínú àárín iṣẹ́ wa ni àwọn ẹ̀yà pàtàkì díẹ̀ tí a ṣe láti ṣiṣẹ́ papọ̀ fún ìwọ̀n àti ìgbẹ́kẹ̀lé púpọ̀.

  • Heltec WiFi LoRa 32 V3: Èyí jẹ́ microcontroller tí ó wúlò tí ó ní ẹ̀yà LoRa ìbánisọ̀rọ̀ tí a kọ́ sínú rẹ̀, pẹ̀lú agbára Wi-Fi àti Bluetooth. Ó jẹ́ kíkọ́ pẹ̀lú Arduino, tí ó gbà wá láàyè láti ka àwọn input àti ṣàkóso àwọn output.
  • Meshnology N35 Case & Battery: Èyí jẹ́ àpótí tí ó tíì dára tí a ṣe fún module Heltec. Nígbà tí a bá ra rẹ̀ gẹ́gẹ́ bí kit, ó ní bàtìrì 3000mAh, èyí tí ó ṣe pàtàkì fún gbígbé àti gbígba fún ìgbà pípẹ́, pàápàá ní àwọn ibi jíjìn.
  • Antenna tí ó ga: Láti ní ìwọ̀n tí ó dára jùlọ, a ó lo antenna tí ó ga, èyí tí ó mú kí agbára ifihan pọ̀ sí i ní pàtàkì ní ìfiwéra pẹ̀lú antenna tí ó wà pẹ̀lú ẹ̀rọ.
  • Relay tàbí Buzzer: Fún olùgbà, o lè sopọ̀ relay láti ṣàkóso àwọn ẹ̀rọ AC tàbí DC tí ó ní agbára gíga bíi afẹ́fẹ́ àti iná, tàbí buzzer rírọrùn fún àwọn ohun èlò ìtànìlétí.

Àkójọpọ̀ Ẹ̀rọ

Àkójọpọ̀ ẹ̀rọ jẹ́ ìlànà tí ó rọrùn, gẹ́gẹ́ bí a ṣe fi hàn nínú fídíò láti 05:56. Kit N35 wá pẹ̀lú module Heltec, bàtìrì 3000mAh, àpótí, antenna pẹ̀lú okun ìfà, àti àwọn pin headers.

Àwọn ìgbésẹ̀ pàtàkì ní kíkó àwọn bọ́tìnì sínú àpótí, gbígbé okun bàtìrì jáde, ìsopọ̀ okun ìfà antenna sí module, gbígbé module sínú, àti ìsopọ̀ bàtìrì. Lẹ́yìn náà, o kàn pa àpótí dé àti fi antenna mount mọ́ ìta. Ó yẹ láti ṣàkíyèsí pé àpótí àtètèkọ́já nílò ìtúnṣe kékeré láti gba antenna mount, ṣùgbọ́n Meshnology ti ṣàtúnṣe èyí nínú àwọn ẹ̀yà tuntun.


Ìsopọ̀ Waya fún Ẹrù Olùgbà

Ní ẹ̀gbẹ́ olùgbà, o ó sopọ̀ ẹ̀rọ tí o ń ṣàkóso. Ní ìsàlẹ̀ ni àwọn ìtọ́sọ́nà ìsopọ̀ waya fún relay àti buzzer, gẹ́gẹ́ bí a ṣe fi hàn nínú fídíò ní 11:17.

Ìsopọ̀ Waya Relay

Relay ṣiṣẹ́ bí ẹ̀rọ tí ń tan iná tàbí pa iná, tí ó gbà ọ́ láàyè láti ṣàkóso ẹrù tí ó ní agbára gíga.

  • Pin ifihan relay sopọ̀ sí pin 4 ti module Heltec LoRa.
  • Pin ilẹ̀ relay sopọ̀ sí pin GND lórí module.
  • Pàtàkì: Pin VCC (agbára) relay yẹ kí ó ní agbára láti ìpèsè agbára 5V òde. Agbára 3.3V module kò lè gbé ìwọ̀n agbára relay dáradára.
  • O gbọ́dọ̀ ṣẹ̀dá ilẹ̀ tí ó wọ́pọ̀ nípa ìsopọ̀ ilẹ̀ ìpèsè agbára òde sí ilẹ̀ module Heltec. Èyí ṣe pàtàkì fún káàkiri láti ṣiṣẹ́.
Helte_Wifi_LoRA 32

Ìsopọ̀ Waya Buzzer pẹ̀lú Transistor

Fún ìtànìlétí ohùn rírọrùn, o lè lo buzzer. Láti yẹra fún gbígbé agbára púpọ̀ láti pin microcontroller, a lo transistor 2N2222 NPN láti ṣe àkóso rẹ̀.

  • Sopọ̀ pin 4 ti module sí resistor 1kΩ. Ìkángun resistor kejì sopọ̀ sí base (pin àárín) ti transistor.
  • Emitter transistor (pin òsì, pẹ̀lú ẹ̀gbẹ́ pẹ̀tẹ́lẹ̀ tí ó kọjú sí ọ) sopọ̀ sí GND.
  • Collector transistor (pin ọ̀tún) sopọ̀ sí ibi odi (-) ti buzzer.
  • Ibi rere (+) ti buzzer sopọ̀ sí pin 3.3V lórí module Heltec.
Helte_Wifi_LoRA 32 with buzzer

Arduino IDE àti Ìṣètò Ilé-ìkàwé

Ṣáájú kí o tó gbé kóòdù sí ẹ̀rọ, o ní láti ṣètò Arduino IDE láti ṣiṣẹ́ pẹ̀lú àwọn board Heltec. Ìlànà bẹ̀rẹ̀ ní 14:37 nínú fídíò.

  1. Fi sori awọn Bọọdi ESP32: Ninu Arduino IDE, lọ si Boards Manager ki o wa ESP32. Fi sori ẹrọ package naa lati ọdọ Espressif Systems.
  2. Fi URL Bọọdi Heltec kun: Lọ si File > Preferences. Ninu "Additional Boards Manager URLs," fi ọna asopọ JSON kun fun ẹya Heltec ESP32. A yoo pese ọna asopọ yii lori oju-iwe awọn orisun ni isalẹ nkan naa.
  3. Fi awọn Bọọdi Heltec ESP32 sori ẹrọ: Pada si Boards Manager, wa Heltec ESP32, ki o fi package naa sori ẹrọ.
  4. Fi Awọn Ile-ikawe Ti a Beere sori ẹrọ: Lọ si Library Manager ki o fi awọn wọnyi sori ẹrọ:
    • Heltec ESP32 dev boards
    • Adafruit GFX Library (ki o tẹ "Install All" fun awọn igbẹkẹle rẹ)
  5. Fi Ile-ikawe Robojax sori ẹrọ: Gba faili zip ile-ikawe aṣa Robojax Heltec LoRa 32 lati oju-iwe awọn orisun. Ninu Arduino IDE, lọ si Sketch > Include Library > Add .ZIP Library ki o yan faili ti o gba.
  6. Yan Bọọdi naa: Nikẹhin, lọ si Tools > Board ki o yan Heltec WiFi LoRa 32 (V3).

Awọn Eto Koodu Ti A Ṣalaye

A ni awọn koodu kikọ mẹta ti o yatọ fun iṣẹ akanṣe yii: ọkan fun oluranse titan/tipa ti o rọrun, ọkan fun oluranse toggle, ati ọkan fun olugba. Ile-ikawe naa ṣe itọju awọn ẹya ti o nira, nitorinaa o nilo lati ṣatunṣe awọn eto diẹ ni oke faili kọọkan. Alaye koodu bẹrẹ ni 19:00 ninu fidio naa.

Oluranse (TX) - Awọn Eto Koodu Titan/Tipa Ti O Rọrun

Koodu yii tan relay naa nikan nigba ti o ba mu bọtini naa mu.

// Ọrọ lati fi han lori iboju OLED
const char *displayTexttitle = "Relay:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayON = "ON";
const char *displayTextRelayOFF = "OFF";

// Bọtini aabo ati igbohunsafẹfẹ (GBA DÓGBÁ OLUGBA)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000 

// Agbara gbigbe (2-21, ti o ga julọ ni okun sii)
#define TX_OUTPUT_POWER 14 

Oluranse (TX) - Awọn Eto Koodu Toggle

Koodu yii yi ipo relay naa pada (lati tan si pa, tabi pa si tan) pẹlu titẹ bọtini kọọkan.

// Ṣeto si otitọ fun iwadi atẹle monito, irọ fun lilo deede
bool debug = true; 
// Pinni bọtini olumulo ti a ṣe sinu rẹ jẹ 0
#define PUSH_BUTTON_PIN 0  

// Ọrọ lati fi han lori iboju OLED
const char *displayTextTitle = "Relay:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayToggleON = "TOG-ON";
const char *displayTextRelayToggleOFF = "TOG-OFF";

// Bọtini aabo ati igbohunsafẹfẹ (GBA DÓGBÁ OLUGBA)
const char *userKey = "6tfDs$wEq3!"; 
#define RF_FREQUENCY 915555000 

// Agbara gbigbe (2-21)
#define TX_OUTPUT_POWER 2 

Awọn Eto Koodu Olugba (RX)

Koodu olugba ẹyọkan yii ṣiṣẹ pẹlu awọn oluranse ti o rọrun ati toggle mejeeji.

// Pinni ti a ti sopọ si titẹ sii ifihan relay
#define RELAY_CONTROL_PIN 4

// Ọrọ lati fi han lori iboju OLED
const char *displayTextTitle = "Relay:"; 
const char *displayTextTX = "(RX)"; 
const char *displayTextRelayON = "ON"; 
const char *displayTextRelayOFF = "OFF"; 
const char *displayTextRelayToggleON = "TOG-ON"; 
const char *displayTextRelayToggleOFF = "TOG-OFF"; 

// Bọtini aabo ati igbohunsafẹfẹ (GBA DÓGBÁ OLURANSE)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000 

Ni pataki, userKey ati RF_FREQUENCY gbọdọ jẹ kanna lori oluranse ati olugba fun wọn lati ṣe ibaraẹnisọrọ.


Ifihan ati Idanwo Iwọn Maili 13

Eto naa ṣiṣẹ lainidi ni agbegbe yàrá, pẹlu relay tabi buzzer olugba ti o dahun lẹsẹkẹsẹ si awọn titẹ bọtini lori oluranse. Ṣugbọn agbara otitọ ti LoRa ni iwọn rẹ.

A ṣe idanwo iwọn gigun, bi a ti ri lati 25:03 siwaju. A ṣeto oluranse si ipele agbara ti 20, ti o ni eriali ere-giga, ti a si gbe sori mẹta-mẹta bii awọn mita 10 loke ipele omi ni eti adagun kan lati rii daju pe laini wiwo han kedere. Lẹhinna a mu olugba lọ si apa keji adagun naa.

Abajade jẹ aṣeyọri iyanu. A gba ifihan iduroṣinṣin lati ijinna ti 13.04 maili, tabi 20.98 kilomita. Eyi ṣe afihan pe pẹlu eto to tọ, o le ṣakoso awọn ẹrọ ni igbẹkẹle lori awọn ijinna nla, ti o jẹ ki o pe fun awọn ohun elo bii abojuto iṣẹ-ogbin latọna jijin, iṣakoso ẹnu-ọna, tabi eto itaniji ole iwọn gigun.


Awọn Akoko Fidio

  • 00:00 - Ifihan si Iṣakoso Iwọn Gigun
  • 02:42 - Kini LoRa?
  • 03:20 - Akopọ Awọn Ẹya (Heltec, Apoti N35)
  • 05:56 - Yiyọ Ẹrọ ati Apejọ Ohun elo
  • 11:17 - Alaye Asopọ: Relay ati Buzzer
  • 14:37 - Arduino IDE & Eto Ile-ikawe
  • 19:00 - Alaye Awọn Eto Koodu (TX ati RX)
  • 25:03 - Ifihan & Idanwo Iwọn Maili 13
Please provide the text you would like to have translated.

Orisun & itọkasi

Fáìlìs📁

Awọn ile-ikawe Arduino (zip)

Awọn faili miiran