કોડ શોધો

13 માઇલ 20 કિમી WiFi વગર? LoRa એ કેવી રીતે પાગલ અંતર પર વોલ્ટેજ મોકલ્યું! (Heltec WiFi LoRa 32 V3)

આ પાઠ આનો ભાગ છે: વાઇફાઇ લોરા પરિચય

13 માઇલ 20 કિમી WiFi વગર? LoRa એ કેવી રીતે પાગલ અંતર પર વોલ્ટેજ મોકલ્યું! (Heltec WiFi LoRa 32 V3)

લોરા અને ESP32 સાથે 13-માઇલ ઓફ-ગ્રીડ વોલ્ટેજ મોનિટર બનાવો

શું તમે ક્યારેય દૂરના પાવર સ્ત્રોત, જેમ કે કેબિન પર સોલર પેનલ, બોટ પર બેટરી બેંક, અથવા મોટા ફાર્મ પર સાધનો, માઇલો દૂરથી મોનિટર કરવાની જરૂર પડી છે? આ પ્રોજેક્ટ માર્ગદર્શિકા તમને લાંબા-અંતરનું, ઓફ-ગ્રીડ વોલ્ટેજ મોનિટર બનાવવામાં મદદ કરશે જે અવિશ્વસનીય 13 માઇલ (અથવા 21 કિલોમીટર) સુધી ડેટા ટ્રાન્સમિટ કરી શકે છે, જેમાં કોઈ સબ્સ્ક્રિપ્શન ફી અથવા Wi-Fi અથવા સેલ્યુલર નેટવર્ક પર નિર્ભરતા નથી.

અમે બે Heltec WiFi LoRa 32 મોડ્યુલોનો ઉપયોગ કરીશું, દરેકને 3000mAh બેટરી સાથે મજબૂત Meshnology N32 કેસમાં રાખવામાં આવશે, જે ટ્રાન્સમિટર અને રીસીવર બનાવવા માટે. ટ્રાન્સમિટર સરળ વોલ્ટેજ ડિવાઇડર સર્કિટનો ઉપયોગ કરીને લક્ષ્ય વોલ્ટેજ (થોડા વોલ્ટથી 100V અથવા વધુ સુધી) માપશે અને લોરાનો ઉપયોગ કરીને રીડિંગ વાયરલેસ રીતે મોકલશે. રીસીવર પછી આ વોલ્ટેજ રીઅલ-ટાઇમમાં પ્રદર્શિત કરશે, જેનાથી તમે તમારી સિસ્ટમોને માઇલો દૂરથી મોનિટર કરી શકો છો.


તે કેવી રીતે કાર્ય કરે છે: વોલ્ટેજ ડિવાઇડર

આ પ્રોજેક્ટનો મુખ્ય ભાગ વિશાળ શ્રેણીના વોલ્ટેજને માપવાની ક્ષમતા છે. ESP32 ના ઇનપુટ પિન ફક્ત 3.3V સુધીના વોલ્ટેજને સુરક્ષિત રીતે માપી શકે છે, તેથી અમે 12V અથવા 100V સ્ત્રોતને સીધું કનેક્ટ કરી શકતા નથી. આ ઉકેલવા માટે, અમે વોલ્ટેજ ડિવાઇડર નામનું સરળ સર્કિટ વાપરીએ છીએ, જે માઇક્રોકંટ્રોલરને વાંચવા માટે વોલ્ટેજને સલામત સ્તરે ઘટાડે છે. આ વિડિયોમાં 12:26 પર સમજાવવામાં આવ્યું છે.

સર્કિટ શ્રેણીમાં જોડાયેલા બે રેઝિસ્ટર (R1 અને R2) નો ઉપયોગ કરે છે. ઉચ્ચ વોલ્ટેજ સ્ત્રોત (Vin) બંને રેઝિસ્ટર પર લાગુ કરવામાં આવે છે, અને ESP32 ફક્ત R2 રેઝિસ્ટર પર નીચું, પ્રમાણસર વોલ્ટેજ (Vout) વાંચે છે. યોગ્ય રેઝિસ્ટર મૂલ્યો સાથે, તમે ખૂબ ઊંચા વોલ્ટેજને ચોક્કસ રીતે માપી શકો છો.

R1 અને R2 રેઝિસ્ટર સાથે વોલ્ટેજ ડિવાઇડરનું સર્કિટ ડાયાગ્રામ.

તમારા રેઝિસ્ટર પસંદ કરતી વખતે, સારો નિયમ એ છે કે એવા મૂલ્યો પસંદ કરો જે આઉટપુટ વોલ્ટેજને 3.3V મર્યાદાથી સારી રીતે નીચે રાખે, તમે અપેક્ષા રાખતા મહત્તમ વોલ્ટેજને માપતી વખતે પણ. શ્રેષ્ઠ ચોકસાઈ માટે, તમારે મલ્ટિમીટર વડે તમારા રેઝિસ્ટરની વાસ્તવિક પ્રતિકાર માપવી જોઈએ અને કોડમાં તે ચોક્કસ મૂલ્યોનો ઉપયોગ કરવો જોઈએ.

વોલ્ટેજ ડિવાઇડર આઉટપુટ અને ઇનપુટ વોલ્ટેજની ગણતરી માટેના સૂત્રો.

હાર્ડવેર એસેમ્બલી અને વાયરિંગ

એસેમ્બલીમાં Heltec LoRa 32 મોડ્યુલ અને 3000mAh બેટરીને N32 કેસની અંદર મૂકવાનો સમાવેશ થાય છે. કેસમાં સ્ક્રીન અને બટનો માટે કટઆઉટ્સ છે, અને બાહ્ય એન્ટેના માઉન્ટ માટે છિદ્ર છે. સૌથી મહત્વપૂર્ણ સલામતી નોંધોમાંની એક છે ઉપકરણને પાવર ચાલુ કરતા પહેલા હંમેશા એન્ટેના કનેક્ટેડ રાખવું, કારણ કે એન્ટેના વિના ટ્રાન્સમિટ કરવાથી લોરા મોડ્યુલને નુકસાન થઈ શકે છે.

ESP32 અને બેટરી સાથે જોડાયેલ વોલ્ટેજ ડિવાઇડર દર્શાવતો મુખ્ય વાયરિંગ ડાયાગ્રામ.
રેઝિસ્ટર અને વાયર સાથે જોડાયેલા વાસ્તવિક પ્રોજેક્ટ વાયરિંગનો ફોટો.
30V માપ દર્શાવતી ટ્રાન્સમિટરની OLED સ્ક્રીનનો ફોટો.

Arduino IDE અને લાઇબ્રેરી સેટઅપ

https://resource.heltec.cn/download/package_heltec_esp32_index.json

Heltec મોડ્યુલોને પ્રોગ્રામ કરવા માટે, તમારે પહેલા તમારા Arduino IDE ને ગોઠવવું આવશ્યક છે. આ એક-વખતનું સેટઅપ નિર્ણાયક છે અને વિડિયોમાં 20:41 પર વિગતવાર સમજાવવામાં આવ્યું છે.

  1. ESP32 બોર્ડ્સ ઇન્સ્ટોલ કરો: ફાઇલ > પ્રેફરન્સમાં સત્તાવાર Espressif ESP32 બોર્ડ્સ URL ઉમેરો અને બોર્ડ્સ મેનેજરમાંથી "esp32" પેકેજ ઇન્સ્ટોલ કરો.
  2. Heltec સપોર્ટ ઇન્સ્ટોલ કરો: તમારી પ્રેફરન્સમાં Heltec-વિશિષ્ટ JSON URL ઉમેરો. પછી, બોર્ડ્સ મેનેજરમાં, "Heltec ESP32" પેકેજ શોધો અને ઇન્સ્ટોલ કરો.
  3. જરૂરી લાઇબ્રેરીઓ ઇન્સ્ટોલ કરો: લાઇબ્રેરી મેનેજર (સ્કેચ > લાઇબ્રેરી શામેલ કરો > લાઇબ્રેરીઓ મેનેજ કરો) નો ઉપયોગ કરીને, નીચેની ઇન્સ્ટોલ કરો:
    • Heltec ESP32 dev boards
    • Adafruit GFX Library (અને તેની નિર્ભરતાઓ)
  4. Robojax લાઇબ્રેરી ઇન્સ્ટોલ કરો: તમારે કસ્ટમ Robojax_HeltecLoRa32 લાઇબ્રેરી ડાઉનલોડ કરવાની જરૂર પડશે, જે .zip ફાઇલ તરીકે પ્રદાન કરવામાં આવી છે. તેને IDE માં સ્કેચ > લાઇબ્રેરી શામેલ કરો > .ZIP લાઇબ્રેરી ઉમેરો દ્વારા ઇન્સ્ટોલ કરો.
  5. બોર્ડ પસંદ કરો: છેલ્લે, ટૂલ્સ > બોર્ડ પર જાઓ અને Heltec WiFi LoRa 32 (V3) અને યોગ્ય COM પોર્ટ પસંદ કરો.

કોડ કન્ફિગરેશન સમજાવ્યું

પ્રોજેક્ટ બે અલગ સ્કેચનો ઉપયોગ કરે છે: એક ટ્રાન્સમિટર (TX) માટે અને એક રીસીવર (RX) માટે. તે કાર્ય કરવા માટે તમારે ટ્રાન્સમિટર કોડમાં ફક્ત થોડી મુખ્ય સેટિંગ્સ ગોઠવવાની જરૂર છે, જેમ કે 25:02 પર સમજાવવામાં આવ્યું છે. રીસીવર કોડને મેળ ખાતી લોરા સેટિંગ્સની જરૂર છે.


#define VOLTAGE_READING_PIN 4  // વોલ્ટેજ વાંચતી પિન
const int R1 = 39120; // ઓહ્મમાં R1 માટે તમારું માપેલું મૂલ્ય
const int R2 = 3312; // ઓહ્મમાં R2 માટે તમારું માપેલું મૂલ્ય

const float CALIB_FACTOR = 1.007f; // મલ્ટિમીટર સાથે મેળ કરવા માટે કેલિબ્રેશન પરિબળ

const char *displayTexttitle = "વોલ્ટેજ:"; // OLED માટે ટેક્સ્ટ
const char *displayTexTX = "(TX)";

// આ સુરક્ષા કી TX અને RX ઉપકરણો પર સમાન હોવી આવશ્યક છે
const char *userKey = "YOUR_SECRE8888";

// આ LoRa સેટિંગ્સ TX અને RX ઉપકરણો પર સમાન હોવી આવશ્યક છે
#define RF_FREQUENCY      915000000 // હર્ટ્ઝમાં LoRa આવૃત્તિ
#define TX_OUTPUT_POWER   2         // dBm માં TX પાવર (2-21)
  • VOLTAGE_READING_PIN: ESP32 પરની GPIO પિન જે તમે તમારા વોલ્ટેજ ડિવાઇડર આઉટપુટ સાથે જોડી છે.
  • R1 અને R2: મલ્ટિમીટર દ્વારા માપ્યા મુજબ તમારા બંને રેઝિસ્ટરના ચોક્કસ પ્રતિરોધ મૂલ્યો દાખલ કરો. ચોકસાઈ માટે આ નિર્ણાયક છે.
  • CALIB_FACTOR: જો તમારું દર્શાવેલ વોલ્ટેજ વિશ્વસનીય મલ્ટિમીટરથી થોડું અલગ હોય, તો તમે રીડિંગને સમાયોજિત કરવા માટે આ મૂલ્ય ઉપર કે નીચે ગોઠવી શકો છો (દા.ત., 1.008 અથવા 0.995). તેને અક્ષમ કરવા માટે 1.0 પર સેટ કરો.
  • userKey: આ તમારી ખાનગી સુરક્ષા કી છે. ફક્ત બરાબર સમાન કી ધરાવતા ઉપકરણો જ વાતચીત કરી શકે છે.
  • RF_FREQUENCY: LoRa માટે ઓપરેટિંગ આવૃત્તિ. આ બંને ઉપકરણો પર સમાન હોવી જોઈએ અને તમારા પ્રદેશ માટે કાયદેસર હોવી જોઈએ (દા.ત., ઉત્તર અમેરિકા માટે 915MHz).
  • TX_OUTPUT_POWER: ટ્રાન્સમિશન પાવર, 2 (ઓછી પાવર, ટૂંકી રેન્જ) થી 21 (ઉચ્ચ પાવર, લાંબી રેન્જ) સુધી. ઉચ્ચ પાવર વધુ બેટરી વાપરે છે. 13-માઇલ પરીક્ષણ માટે, 20 નું મૂલ્ય વપરાયું હતું. તમારા ડેસ્ક પર પરીક્ષણ માટે, 2 પૂરતું છે.

રીસીવર કોડમાં userKey અને RF_FREQUENCY માટે સમાન સેટિંગ્સ છે જે ટ્રાન્સમીટરની સેટિંગ્સ સાથે મેળ ખાતી હોવી જોઈએ.


કાર્યરત લાઇવ પ્રોજેક્ટ

એકવાર કોડ અપલોડ થઈ જાય, ટ્રાન્સમીટર એકમ તમારા જોડાયેલા સ્ત્રોતમાંથી વોલ્ટેજ માપવાનું શરૂ કરશે, તેને પોતાની OLED સ્ક્રીન પર "(TX)" સૂચક સાથે દર્શાવશે, અને LoRa દ્વારા ડેટા પ્રસારિત કરશે. રીસીવર એકમ, મેળ ખાતી સુરક્ષા કી અને આવૃત્તિ સાથે પ્રોગ્રામ કરવામાં આવે ત્યારે, સિગ્નલ સાંભળશે. જલદી તેને માન્ય ટ્રાન્સમિશન મળશે, તે તેની સ્ક્રીન પર "(RX)" સૂચક સાથે સમાન વોલ્ટેજ દર્શાવશે.

31:39 પર લાંબી રેન્જના પરીક્ષણમાં દર્શાવ્યા મુજબ, આ સેટઅપ અતિ અસરકારક છે. ઉચ્ચ-લાભ એન્ટેના અને સ્પષ્ટ દૃષ્ટિરેખા સાથે, સિસ્ટમે 13 માઇલ દૂરથી ચોક્કસ વોલ્ટેજ રીડિંગ્સ સફળતાપૂર્વક પ્રસારિત અને પ્રાપ્ત કર્યા, જે સાબિત કરે છે કે તે ગંભીર રિમોટ મોનિટરિંગ કાર્યો માટે મજબૂત અને વિશ્વસનીય ઉકેલ છે.


વિડિઓ પ્રકરણો

  • 00:00 - શરૂઆત
  • 03:33 - બોર્ડ અને LoRa નો પરિચય
  • 05:47 - WiFi LoRa 32 માટે N32 કેસ
  • 12:26 - 150V સુધી માપવા માટે વોલ્ટેજ ડિવાઇડર
  • 19:47 - વોલ્ટેજ માપવા માટે વાયર તૈયાર કરવો
  • 20:41 - WiFi LoRa 32 માટે લાઇબ્રેરી ઇન્સ્ટોલ કરવી
  • 25:02 - ટ્રાન્સમિશન કોડ સમજાવ્યો
  • 27:16 - રીસીવર કોડ સમજાવ્યો
  • 28:36 - વોલ્ટેજ વાંચવાનું પ્રદર્શન
  • 31:39 - વાસ્તવિક દુનિયાનું અંતર રેન્જ પરીક્ષણ (13 માઇલ)
કોઈ કોડ જોડાયેલ નથી.

સંસાધનો અને સંદર્ભો

ફાઇલો📁

Arduino લાઇબ્રેરીઓ (zip)

અન્ય ફાઇલો