Merhabalar lora 868t20d sahibiyim usb üzerinden kanalı ayarlayıp frekansı 868 olarak görebiliyorum ama arduino üzerinden getparameters ile okuma yaptığım zaman frekansın 400 ile 500 arasında olduğu gözüküyor sorunu nasıl çözebilirim? Ayrıca ayarladığım addl ve addh da farklı gözüküyor.
işte USB parametre ayarlama cihazı olmadan iş biraz zor . Şimdi hangi ayarı içine attın, acaba cihaz ne aldı bilmek imkansız. Bir tane usb cihazından alsan ömür boyu rahat edersin bana da dua edersin :).
Kodda anormal başka bir şey gözüme çarpmadı. birde devrenin fotoğraflarını at bakayım. mümkünse bağlantıları net çıksın.
Bu arada hala diğer firmanın ne cevap verdiğini merak ediyorum. söylemedin. Alp var orda o mu cevap yazdı.
Merhabalar kullandığım devre bu şekilde vericide arduino ve sensörleri harici olarak besliyorum alıcıda ise arduino üzerinden besleme yapıyorum ancak sorunu çözemedim. Ayrıca parametre ayarlarını kod üzerinden 3v3 bağlayarak ayarlıyorum. [apcode language="php"]
/*Alici Kodu * LoRa E32-TTL-100 * Receive fixed transmission message on channel. * https://www.mischianti.org * * E32-TTL-100----- Arduino UNO or esp8266 * M0 ----- 3.3v (To config) GND (To send) 7 (To dinamically manage) * M1 ----- 3.3v (To config) GND (To send) 6 (To dinamically manage) * TX ----- PIN 2 (PullUP) * RX ----- PIN 3 (PullUP & Voltage divider) * AUX ----- Not connected (5 if you connect) * VCC ----- 3.3v/5v * GND ----- GND * */ #include "Arduino.h" #include "LoRa_E32.h" // ---------- esp8266 pins -------------- //LoRa_E32 e32ttl(D2, D3, D5, D7, D6); //LoRa_E32 e32ttl(D2, D3); // Config without connect AUX and M0 M1 //#include <SoftwareSerial.h> //SoftwareSerial mySerial(D2, D3); // e32 TX e32 RX //LoRa_E32 e32ttl(&mySerial, D5, D7, D6); // ------------------------------------- // ---------- Arduino pins -------------- //LoRa_E32 e32ttl(2, 3, 5, 7, 6); //LoRa_E32 e32ttl(2, 3, 4); // Config without connect AUX and M0 M1 #include <SoftwareSerial.h> SoftwareSerial mySerial(10, 11); // e32 TX e32 RX LoRa_E32 e32ttl(&mySerial); // ------------------------------------- void printParameters(struct Configuration configuration); void printModuleInformation(struct ModuleInformation moduleInformation); //The setup function is called once at startup of the sketch void setup() { Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB } delay(100); e32ttl.begin(); // e32ttl.resetModule(); // After set configuration comment set M0 and M1 to low // and reboot if you directly set HIGH M0 and M1 to program ResponseStructContainer c; c = e32ttl.getConfiguration(); Configuration configuration = *(Configuration*) c.data; configuration.ADDL = 0x03; configuration.ADDH = 0x00; configuration.CHAN = 0x04; configuration.OPTION.fixedTransmission = FT_FIXED_TRANSMISSION; configuration.OPTION.fec = FEC_1_ON; configuration.OPTION.transmissionPower = POWER_20; configuration.OPTION.wirelessWakeupTime = WAKE_UP_250; configuration.SPED.airDataRate = AIR_DATA_RATE_010_24; configuration.SPED.uartBaudRate = UART_BPS_9600; configuration.SPED.uartParity = MODE_00_8N1; e32ttl.setConfiguration(configuration, WRITE_CFG_PWR_DWN_SAVE); printParameters(configuration); // --------------------------- Serial.println(); Serial.println("Start listening!"); e32ttl.setMode(MODE_2_POWER_SAVING); } struct Message { char type[5]; char message[8]; byte temperature[4]; }; // The loop function is called in an endless loop void loop() { if (e32ttl.available() > 1){ ResponseStructContainer rsc = e32ttl.receiveMessage(sizeof(Message)); struct Message message = *(Message*) rsc.data; Serial.println(message.type); Serial.println(*(float*)(message.temperature)); Serial.println(message.message); free(rsc.data); } } void printParameters(struct Configuration configuration) { Serial.println("----------------------------------------"); Serial.print(F("HEAD : ")); Serial.print(configuration.HEAD, BIN);Serial.print(" ");Serial.print(configuration.HEAD, DEC);Serial.print(" ");Serial.println(configuration.HEAD, HEX); Serial.println(F(" ")); Serial.print(F("AddH : ")); Serial.println(configuration.ADDH, DEC); Serial.print(F("AddL : ")); Serial.println(configuration.ADDL, DEC); Serial.print(F("Chan : ")); Serial.print(configuration.CHAN, DEC); Serial.print(" -> "); Serial.println(configuration.getChannelDescription()); Serial.println(F(" ")); Serial.print(F("SpeedParityBit : ")); Serial.print(configuration.SPED.uartParity, BIN);Serial.print(" -> "); Serial.println(configuration.SPED.getUARTParityDescription()); Serial.print(F("SpeedUARTDatte : ")); Serial.print(configuration.SPED.uartBaudRate, BIN);Serial.print(" -> "); Serial.println(configuration.SPED.getUARTBaudRate()); Serial.print(F("SpeedAirDataRate : ")); Serial.print(configuration.SPED.airDataRate, BIN);Serial.print(" -> "); Serial.println(configuration.SPED.getAirDataRate()); Serial.print(F("OptionTrans : ")); Serial.print(configuration.OPTION.fixedTransmission, BIN);Serial.print(" -> "); Serial.println(configuration.OPTION.getFixedTransmissionDescription()); Serial.print(F("OptionPullup : ")); Serial.print(configuration.OPTION.ioDriveMode, BIN);Serial.print(" -> "); Serial.println(configuration.OPTION.getIODroveModeDescription()); Serial.print(F("OptionWakeup : ")); Serial.print(configuration.OPTION.wirelessWakeupTime, BIN);Serial.print(" -> "); Serial.println(configuration.OPTION.getWirelessWakeUPTimeDescription()); Serial.print(F("OptionFEC : ")); Serial.print(configuration.OPTION.fec, BIN);Serial.print(" -> "); Serial.println(configuration.OPTION.getFECDescription()); Serial.print(F("OptionPower : ")); Serial.print(configuration.OPTION.transmissionPower, BIN);Serial.print(" -> "); Serial.println(configuration.OPTION.getTransmissionPowerDescription()); Serial.println("----------------------------------------"); } void printModuleInformation(struct ModuleInformation moduleInformation) { Serial.println("----------------------------------------"); Serial.print(F("HEAD BIN: ")); Serial.print(moduleInformation.HEAD, BIN);Serial.print(" ");Serial.print(moduleInformation.HEAD, DEC);Serial.print(" ");Serial.println(moduleInformation.HEAD, HEX); Serial.print(F("Freq.: ")); Serial.println(moduleInformation.frequency, HEX); Serial.print(F("Version : ")); Serial.println(moduleInformation.version, HEX); Serial.print(F("Features : ")); Serial.println(moduleInformation.features, HEX); Serial.println("----------------------------------------"); }
Verici Kodu
/* * LoRa E32-TTL-100 * Send fixed transmission structured message to a specified point. * https://www.mischianti.org * * E32-TTL-100----- Arduino UNO or esp8266 * M0 ----- 3.3v (To config) GND (To send) 7 (To dinamically manage) * M1 ----- 3.3v (To config) GND (To send) 6 (To dinamically manage) * TX ----- PIN 2 (PullUP) * RX ----- PIN 3 (PullUP & Voltage divider) * AUX ----- Not connected (5 if you connect) * VCC ----- 3.3v/5v * GND ----- GND * */ #include "Arduino.h" #include "LoRa_E32.h" // ---------- esp8266 pins -------------- //LoRa_E32 e32ttl(D2, D3, D5, D7, D6); //LoRa_E32 e32ttl(D2, D3, D5, D7, D6); // Config without connect AUX and M0 M1 //#include <SoftwareSerial.h> //SoftwareSerial mySerial(D2, D3); // e32 TX e32 RX //LoRa_E32 e32ttl(&mySerial, D5, D7, D6); //#include <SoftwareSerial.h> //SoftwareSerial mySerial(D2, D3); // e32 TX e32 RX //LoRa_E32 e32ttl(&mySerial, D5, D7, D6); // ------------------------------------- // ---------- Arduino pins -------------- //LoRa_E32 e32ttl(2, 3, 5, 7, 6); //LoRa_E32 e32ttl(2, 3); // Config without connect AUX and M0 M1 #include <SoftwareSerial.h> SoftwareSerial mySerial(10, 11); // e32 TX e32 RX LoRa_E32 e32ttl(&mySerial); // ------------------------------------- void printParameters(struct Configuration configuration); void printModuleInformation(struct ModuleInformation moduleInformation); //The setup function is called once at startup of the sketch void setup() { Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB } delay(100); e32ttl.begin(); // After set configuration comment set M0 and M1 to low // and reboot if you directly set HIGH M0 and M1 to program ResponseStructContainer c; c = e32ttl.getConfiguration(); Configuration configuration = *(Configuration*) c.data; configuration.ADDL = 0x01; configuration.ADDH = 0x00; configuration.CHAN = 0x04; configuration.OPTION.fixedTransmission = FT_FIXED_TRANSMISSION; configuration.OPTION.fec = FEC_1_ON; configuration.OPTION.transmissionPower = POWER_20; configuration.OPTION.wirelessWakeupTime = WAKE_UP_250; configuration.SPED.airDataRate = AIR_DATA_RATE_010_24; configuration.SPED.uartBaudRate = UART_BPS_9600; configuration.SPED.uartParity = MODE_00_8N1; e32ttl.setConfiguration(configuration, WRITE_CFG_PWR_DWN_SAVE); printParameters(configuration); // --------------------------- } struct Message { char type[5]; char message[8]; int temperature; } message; int i = 0; // The loop function is called in an endless loop void loop() { delay(2500); i++; struct Message { char type[5] = "TEMP"; char message[8] = "Kitchen"; byte temperature[4]; } message; *(float*)(message.temperature) = 19.2; ResponseStatus rs = e32ttl.sendFixedMessage(0,3,0x04,&message, sizeof(Message)); Serial.println(rs.getResponseDescription()); } void printParameters(struct Configuration configuration) { Serial.println("----------------------------------------"); Serial.print(F("HEAD : ")); Serial.print(configuration.HEAD, BIN);Serial.print(" ");Serial.print(configuration.HEAD, DEC);Serial.print(" ");Serial.println(configuration.HEAD, HEX); Serial.println(F(" ")); Serial.print(F("AddH : ")); Serial.println(configuration.ADDH, BIN); Serial.print(F("AddL : ")); Serial.println(configuration.ADDL, BIN); Serial.print(F("Chan : ")); Serial.print(configuration.CHAN, DEC); Serial.print(" -> "); Serial.println(configuration.getChannelDescription()); Serial.println(F(" ")); Serial.print(F("SpeedParityBit : ")); Serial.print(configuration.SPED.uartParity, BIN);Serial.print(" -> "); Serial.println(configuration.SPED.getUARTParityDescription()); Serial.print(F("SpeedUARTDatte : ")); Serial.print(configuration.SPED.uartBaudRate, BIN);Serial.print(" -> "); Serial.println(configuration.SPED.getUARTBaudRate()); Serial.print(F("SpeedAirDataRate : ")); Serial.print(configuration.SPED.airDataRate, BIN);Serial.print(" -> "); Serial.println(configuration.SPED.getAirDataRate()); Serial.print(F("OptionTrans : ")); Serial.print(configuration.OPTION.fixedTransmission, BIN);Serial.print(" -> "); Serial.println(configuration.OPTION.getFixedTransmissionDescription()); Serial.print(F("OptionPullup : ")); Serial.print(configuration.OPTION.ioDriveMode, BIN);Serial.print(" -> "); Serial.println(configuration.OPTION.getIODroveModeDescription()); Serial.print(F("OptionWakeup : ")); Serial.print(configuration.OPTION.wirelessWakeupTime, BIN);Serial.print(" -> "); Serial.println(configuration.OPTION.getWirelessWakeUPTimeDescription()); Serial.print(F("OptionFEC : ")); Serial.print(configuration.OPTION.fec, BIN);Serial.print(" -> "); Serial.println(configuration.OPTION.getFECDescription()); Serial.print(F("OptionPower : ")); Serial.print(configuration.OPTION.transmissionPower, BIN);Serial.print(" -> "); Serial.println(configuration.OPTION.getTransmissionPowerDescription()); Serial.println("----------------------------------------"); } void printModuleInformation(struct ModuleInformation moduleInformation) { Serial.println("----------------------------------------"); Serial.print(F("HEAD BIN: ")); Serial.print(moduleInformation.HEAD, BIN);Serial.print(" ");Serial.print(moduleInformation.HEAD, DEC);Serial.print(" ");Serial.println(moduleInformation.HEAD, HEX); Serial.print(F("Freq.: ")); Serial.println(moduleInformation.frequency, HEX); Serial.print(F("Version : ")); Serial.println(moduleInformation.version, HEX); Serial.print(F("Features : ")); Serial.println(moduleInformation.features, HEX); Serial.println("----------------------------------------"); }
[/apcode] Devre Şeması
diğer firma ne dedi? bana kullandığın kodu, devre şeması fotoğrafı, birde loraların parametre ayar ekranlarını atar mısın
Hayır 2 lora arasındaki iletişimi maalesef kuramadım. Sorun hala devam etmekte.
Sanırım başka yerden satın almıştınız lorayı. Acaba sorunun çözüldü mü?