Სარჩევი:

მარტივი Arduino LoRa კომუნიკაცია (5 კმ -ზე მეტი): 9 ნაბიჯი
მარტივი Arduino LoRa კომუნიკაცია (5 კმ -ზე მეტი): 9 ნაბიჯი

ვიდეო: მარტივი Arduino LoRa კომუნიკაცია (5 კმ -ზე მეტი): 9 ნაბიჯი

ვიდეო: მარტივი Arduino LoRa კომუნიკაცია (5 კმ -ზე მეტი): 9 ნაბიჯი
ვიდეო: USB to LoRa Dongle - Seamless Wireless Communication Upto 5 KM 2024, ივლისი
Anonim
Arduino LoRa მარტივი კომუნიკაცია (5 კმ -ზე მეტი)
Arduino LoRa მარტივი კომუნიკაცია (5 კმ -ზე მეტი)

ჩვენ ვაპირებთ E32-TTL-100– ის გამოცდას ჩემი ბიბლიოთეკით. ეს არის უკაბელო გადამცემი მოდული, მუშაობს 410 441 MHz (ან 868MHz ან 915MHz) SEMTECH– ის ორიგინალური RFIC SX1278 საფუძველზე, გამჭვირვალე გადაცემა შესაძლებელია, TTL დონეზე. მოდული იღებს LORA გავრცელების სპექტრის ტექნოლოგიას.

მარაგები

  • Arduino UNO
  • LoRa e32 მოწყობილობები

სურვილისამებრ

  • Mischianti Arduino LoRa ფარი (ღია წყარო)
  • Mischianti WeMos LoRa ფარი (ღია წყარო)

ნაბიჯი 1: მოწყობილობების მახასიათებლები

მოდული აღჭურვილია FEC Forward Error Correct ალგორითმით, რაც უზრუნველყოფს მის მაღალ კოდირებულ ეფექტურობას და კარგ კორექტირების მუშაობას. უეცარი ჩარევის შემთხვევაში, მას შეუძლია ავტომატურად შეასწოროს ჩარეული მონაცემების პაკეტები, რათა შესაბამისად გაუმჯობესდეს საიმედოობა და გადაცემის დიაპაზონი. მაგრამ FEC– ის გარეშე, ამ პაკეტების ჩაშლა შესაძლებელია. და მკაცრი დაშიფვრა და გაშიფვრა, მონაცემების გაშიფვრა ხდება უაზრო. მონაცემთა შეკუმშვის ფუნქციას შეუძლია შეამციროს გადაცემის დრო და ჩარევის ალბათობა, ხოლო გაზარდოს საიმედოობა და გადაცემის ეფექტურობა.

  • მოდულის ზომა: 21*36 მმ
  • ანტენის ტიპი: SMA-K (50Ω წინაღობა)
  • გადაცემის მანძილი: 3000 მ (მაქსიმალური)
  • მაქსიმალური სიმძლავრე: 2 dB (100 მგვტ)
  • ჰაერის განაკვეთები: 2.4Kbps (6 სურვილისამებრ დონე (0.3, 1.2, 2.4, 4.8, 9.6, 19.2kbps)
  • ემისიის სიგრძე: 512ByteReceive
  • სიგრძე: 512 ბაიტი
  • საკომუნიკაციო ინტერფეისი: UART - 8N1, 8E1, 8O1,
  • რვა სახის UART baud Rate, 1200 -დან 115200bps (ნაგულისხმევი: 9600)
  • RSSI მხარდაჭერა: არა (ჩამონტაჟებული ინტელექტუალური დამუშავება)

ნაბიჯი 2: გადაცემის ტიპი

გადაცემის ტიპი
გადაცემის ტიპი

გამჭვირვალე გადაცემა ეს შეიძლება ჩაითვალოს "დემო რეჟიმში", ნაგულისხმევად შეგიძლიათ გაგზავნოთ შეტყობინება ერთიდაიგივე კონფიგურირებული მისამართისა და არხის ყველა მოწყობილობაზე.

დაფიქსირდა გადაცემა

ამ ტიპის გადაცემა შეგიძლიათ მიუთითოთ მისამართი და არხი, სადაც გსურთ გაგზავნოთ შეტყობინება. შეგიძლიათ გაგზავნოთ შეტყობინება:

  • მითითებული მოწყობილობა წინასწარ განსაზღვრული მისამართით დაბალი, მისამართის მაღალი და არხი.
  • გაგზავნეთ შეტყობინება არხის მოწყობილობების ნაკრებზე ნორმალური რეჟიმი უბრალოდ გაგზავნეთ შეტყობინება.

ნაბიჯი 3: მოწყობილობის რეჟიმი

ნორმალური რეჟიმი უბრალოდ გაგზავნეთ შეტყობინება.

გაღვიძების რეჟიმი და ენერგიის დაზოგვის რეჟიმი

როგორც თქვენ აპირებთ, თუ მოწყობილობა გაღვიძების რეჟიმშია, შეუძლია „გააღვიძოს“ერთი ან მეტი მოწყობილობა, რომელიც ენერგიის დაზოგვის რეჟიმშია, პრეამბულა კომუნიკაციით.

პროგრამა/ძილის რეჟიმი

ამ კონფიგურაციით თქვენ შეგიძლიათ შეცვალოთ თქვენი მოწყობილობის კონფიგურაცია.

ნაბიჯი 4: გაყვანილობის მოწყობილობა

გაყვანილობის მოწყობილობა
გაყვანილობის მოწყობილობა
გაყვანილობის მოწყობილობა
გაყვანილობის მოწყობილობა

აქ არის მოწყობილობის კავშირის სქემა, ეს არის სრულად დაკავშირებული, M0 და M1 pin მენეჯმენტით საშუალებას გაძლევთ შეცვალოთ მოწყობილობის მოდალობა, ასე რომ თქვენ შეგიძლიათ გადახვიდეთ კონფიგურაციაზე ან გაღვიძების რეჟიმში პროგრამით, ბიბლიოთეკა დაგეხმარებათ ამ ყველაფერში ოპერაცია.

ნაბიჯი 5: კონფიგურაცია

კონფიგურაცია
კონფიგურაცია

არსებობს მითითებული ბრძანება კონფიგურაციის დასაყენებლად და მისაღებად

void setup () {Serial.begin (9600); დაგვიანება (500); // ყველა ქინძისთავის გაშვება და UART e32ttl100.begin (); ResponseStructContainer გ; c = e32ttl100.getConfiguration (); // მნიშვნელოვანია კონფიგურაციის მაჩვენებლის მიღება ყველა სხვა ოპერაციამდე კონფიგურაციის კონფიგურაცია = *(კონფიგურაცია *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (კონფიგურაცია); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // მნიშვნელოვანია ინფორმაციის მომპოვებელი ყველა სხვა ოპერაციამდე ModuleInformation mi = *(ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }

ნაბიჯი 6: კონფიგურაციის შედეგი

და შედეგი გახდა

დაიწყეთ წარმატება 1 ---------------------------------------- HEAD BIN: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433MHz SpeedParityBit BIN: 0 -> 8N1 (ნაგულისხმევი) SpeedUARTDataRate BIN: 11 -> 9600bps (ნაგულისხმევი) SpeedAirDataRate BIN: 10 -> 2.4kbps (default) ვარიანტი Trans BIN: 0 - > გამჭვირვალე გადაცემა (ნაგულისხმევი) ვარიანტი Pullup BIN: 1 -> TXD, RXD, AUX არის push -pulls/pull -ups OptionWakeup BIN: 0 -> 250ms (default) OptionFEC BIN: 1 -> Forward Error Correction Switch (Default) OptionPower BIN: 0-> 20dBm (ნაგულისხმევი) -------------------------------------------- წარმატება 1 ---------------------------------------- HEAD BIN: 11000011 195 C3 მოდელი არა.: 32 ვერსია: 44 მახასიათებლები: 14 --------------------------------------------

ნაბიჯი 7: გაგზავნეთ შეტყობინება

შეტყობინების გაგზავნა
შეტყობინების გაგზავნა

აქ არის მარტივი ესკიზი, რომ გაგზავნოთ შეტყობინება არხზე მიმაგრებულ ყველა მოწყობილობაზე

void loop () {// თუ რამე ხელმისაწვდომია თუ (e32ttl100.available ()> 1) {// წაიკითხეთ სიმებიანი შეტყობინება ResponseContainer rc = e32ttl100.receiveMessage (); // რამე არასწორია ბეჭდვის შეცდომა თუ (rc.status.code! = 1) {rc.status.getResponseDescription (); } else {// დაბეჭდეთ მიღებული მონაცემები Serial.println (rc.data); }} if (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (შეყვანა); }}

ნაბიჯი 8: ფარი არდუინოსთვის

ფარი არდუინოსთვის
ფარი არდუინოსთვის

მე ასევე ვქმნი ფარს არდუინოსთვის, რომელიც ძალიან გამოსადეგი ხდება პროტოტიპისთვის.

და მე ვაქვეყნებ მას, როგორც ღია კოდის პროექტს აქ

www.pcbway.com/project/shareproject/LoRa_E32_Series_device_Arduino_shield.html

ნაბიჯი 9: ბიბლიოთეკა

ბიბლიოთეკა
ბიბლიოთეკა

GitHub საცავი

მხარდაჭერის ფორუმი

დამატებითი დოკუმენტაცია

გირჩევთ: