SimonBJohnsen Skrevet 22. januar 2019 Skrevet 22. januar 2019 Hei, trenger noen innspill til prosjektet mitt. Er ute etter å få tilbakemelding fra et 12v rele. Avstanden er ca 300 - 400 m. Har noen erfaring fra relekort fra ebay med antenne for 433 mhz eller 315 mhz? Andre løsninger? Mvh. Simon Siter
ZoRaC Skrevet 22. januar 2019 Skrevet 22. januar 2019 16 minutter siden, SimonBJohnsen skrev: 433 mhz eller 315 mhz? 315 MHz er vel ikke til fri bruk i Norge? Siter
ZoRaC Skrevet 22. januar 2019 Skrevet 22. januar 2019 17 minutter siden, SimonBJohnsen skrev: Andre løsninger? Hva med noe på mobilnettet? NB-IoT? eller LoRa-WAN? Siter
SimonBJohnsen Skrevet 22. januar 2019 Forfatter Skrevet 22. januar 2019 11 minutter siden, ZoRaC skrev: 315 MHz er vel ikke til fri bruk i Norge? Ja det er vel noen restriksjoner rundt dette. Har bare sett på de forskjellige typene på ebay. 9 minutter siden, ZoRaC skrev: Hva med noe på mobilnettet? NB-IoT? eller LoRa-WAN? Ja det er en mulighet, har sett det selges flere forskjellige gsm releer. Men har egentlig ikke behov for å gjøre dette for komplisert. Siter
nogeni Skrevet 22. januar 2019 Skrevet 22. januar 2019 Hei, trenger noen innspill til prosjektet mitt. Er ute etter å få tilbakemelding fra et 12v rele. Avstanden er ca 300 - 400 m. Har noen erfaring fra relekort fra ebay med antenne for 433 mhz eller 315 mhz? Andre løsninger? Mvh. SimonHei, jeg benytter noen relé fra Ontech på hytta. Så da at de også har et for lavspenning http:// https://www.ontechgsm.com/produkter/i-baten/. De selges på ClasOhlson. Merk abb på ca 200,-/årSent from my iPhone using Tapatalk Siter
Håvardgj Skrevet 22. januar 2019 Skrevet 22. januar 2019 om du er komfortabel med Arduino, så finnes det da Xbee... de råeste modulene der kan sende signal i overkant av 10km om du har stor nok antenne og rikelig med sendestyrke skal vel 433MHz gå an, men om sendere/mottakere fra ebay har det, er en annen sak Siter
getty24 Skrevet 23. januar 2019 Skrevet 23. januar 2019 Hvis arduino, prøv rfm69 fra feks ali, evt tfm69hw med større effekt. Finnes en del om denne på nettet. Pass på å kjøpe 433Mhz varianten. Med en atmega 328 3,3v og en rfm69w i hver ende slipper du unna med 12-15 dollar pluss powersupply/batteri. Krever litt lodding.Sent fra min EVA-L09 via Tapatalk Siter
Holmis Skrevet 7. februar 2019 Skrevet 7. februar 2019 Et LoRa kort fra BS France av typen LoRa32u4 til en LoRaGO dock som qateway og til MQTT på lokalnettet over WiFi Jeg kjører sjøl dette. De kommer med micro-USB for lasting av program og strømtilførsel om du ikke vil bruke batteri. Programmeres i Arduino. De kommer i 868MHz som er åpen frekvens i Norge. 2 Siter
Holmis Skrevet 7. februar 2019 Skrevet 7. februar 2019 (endret) Jeg har i klar sikt fått 3.7 km under enkle tester med å ha den i dashbordet i bilen. Uten klar sikt har jeg klart 0.5-2km. Begge punktene på bildene nedenfor har jeg sendt pakke og mottat. Fresnelsonen har jeg ikke stilt på og står til 0.6 i kalkulatoren Endret 8. februar 2019 av Holmis 1 Siter
Moskus Skrevet 8. februar 2019 Skrevet 8. februar 2019 11 timer siden, Holmis skrev: Jeg har i klar sikt fått 3.7 km under enkle tester med å ha den i dashbordet i bilen. Uten klar sikt har jeg klart 0.5-2km. Wow! Imponert! Siter
mk1 black limited Skrevet 8. februar 2019 Skrevet 8. februar 2019 19 hours ago, Holmis said: Et LoRa kort fra BS France av typen LoRa32u4 til en LoRaGO dock som qateway og til MQTT på lokalnettet over WiFi Jeg kjører sjøl dette. De kommer med micro-USB for lasting av program og strømtilførsel om du ikke vil bruke batteri. Programmeres i Arduino. De kommer i 868MHz som er åpen frekvens i Norge. Veldig spennende! Fant LoRa32u4 hos Aliexpress og LoRaGO dock på eBay, er dette alt som trengs for å få LoRa opp og gå? I tillegg til sensorer altså? Siter
Holmis Skrevet 8. februar 2019 Skrevet 8. februar 2019 Ja dette er det du trenger. Det er vært å merke seg at dette er en singel channel gw. Har også bestilt meg en https://www.google.com/amp/s/m.aliexpress.com/item/32875743018.html#ampf=undefined og håper at dette blir en bra alternativ til en strømgjerrig batteri løsning. Har ikke teste strømsparing på 32u4 enda. Til nå har jeg bare brukt antenne som følger med. 1 Siter
mk1 black limited Skrevet 6. mars 2019 Skrevet 6. mars 2019 Da er det bestilt. Noen som er gode på Arduino? Siter
mk1 black limited Skrevet 6. mars 2019 Skrevet 6. mars 2019 On 07/02/2019 at 17:49, Holmis said: Et LoRa kort fra BS France av typen LoRa32u4 til en LoRaGO dock som qateway og til MQTT på lokalnettet over WiFi Jeg kjører sjøl dette. De kommer med micro-USB for lasting av program og strømtilførsel om du ikke vil bruke batteri. Programmeres i Arduino. De kommer i 868MHz som er åpen frekvens i Norge. Dette. Siter
Holmis Skrevet 8. mars 2019 Skrevet 8. mars 2019 (endret) På 6.3.2019 den 14.03, mk1 black limited skrev: Da er det bestilt. Noen som er gode på Arduino? Si ifra når du får det, så kan jeg sende programmet jeg bruker så du har et utgangspunkt, samt hjelpe om det er noen spørsmål. Jeg er ikke veldig god, men får det til å funke Endret 8. mars 2019 av Holmis 1 Siter
mk1 black limited Skrevet 8. mars 2019 Skrevet 8. mars 2019 26 minutes ago, Holmis said: Si ifra når du får det, så kan jeg sende programmet jeg bruker så du har et utgangspunkt, samt hjelpe om det er noen spørsmål. Jeg er ikke veldig god, men får det til å funke Strålende, skal si fra. Siter
mk1 black limited Skrevet 2. august 2019 Skrevet 2. august 2019 On 08/03/2019 at 13:35, Holmis said: Si ifra når du får det, så kan jeg sende programmet jeg bruker så du har et utgangspunkt, samt hjelpe om det er noen spørsmål. Jeg er ikke veldig god, men får det til å funke Har fått (for en stund siden), kan du sende programmet du bruker? Og gjerne en oppskrift hvis du har tid...:) Siter
Holmis Skrevet 6. august 2019 Skrevet 6. august 2019 Hei, nedenfor ser du programmet jeg har kjørt på GW. Dette er overhodet ikke effektivisert mtp. sendetid eller batteribruk. Men er enkelt å feilsøke og lesbart med MQTT Explorer når du jobber med det. Jeg har kun brukt det til å sende fra node og til GW, men skal fungere å sende begge veier, om du setter den i "lytte" modus når du ikke sender og dropper og bruke sleep funksjonen. Si ifra om det er noe du trenger hjelp med. Jeg har ikke sett på dette på en stund, men kan sette opp en test eller prøve å hjelpe om det er noe /* Receiver which receivers messages through a Hope RFM95 LoRa Module. It sends a feedback signal (checksum) to the receiver Copyright <2017> <Andreas Spiess> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Based on the Example of the library */ #include <SPI.h> #include <LoRa.h> #define ESP8266 // comment if you want to use the sketch on a Arduino board #define MQTT // uncomment if you want to foreward the message via MQTT //#define OLED // comment if you do nto have a OLED display const long freq = 868E6; const int SF = 12; const long bw = 125E3; #ifdef OLED #include "SSD1306.h" SSD1306 display(0x3d, 4, 5); #endif #ifdef MQTT #include <PubSubClient.h> #include <ESP8266WiFi.h> //#include <credentials.h> #define TOPIC "LORA" #endif int counter, lastCounter; char mySSID[] = "XXXXX"; // Putt inn wifi detaljer char myPASSWORD[] = "XXXXX"; const char* server = "XXXXXXX"; // putt inn mqtt server #ifdef MQTT WiFiClient wifiClient; PubSubClient client(wifiClient); #endif void setup() { Serial.begin(9600); Serial.println("LoRa Receiver"); #ifdef ESP8266 LoRa.setPins(16, 17, 15); // set CS, reset, IRQ pin #else LoRa.setPins(10, A0, 2); // set CS, reset, IRQ pin #endif #ifdef OLED display.init(); display.flipScreenVertically(); display.setFont(ArialMT_Plain_10); display.clear(); display.setTextAlignment(TEXT_ALIGN_LEFT); display.setFont(ArialMT_Plain_16); display.drawString(0, 10, "Mailbox"); display.display(); #endif if (!LoRa.begin(freq)) { Serial.println("Starting LoRa failed!"); while (1); } LoRa.setSpreadingFactor(SF); // LoRa.setSignalBandwidth(bw); Serial.println("LoRa Started"); #ifdef MQTT WiFi.begin(mySSID, myPASSWORD); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); client.setServer(server, 19377); client.setCallback(callback); if (client.connect("LORAgw", "User", "Passord")) { // Putt brukernavn og pw på mqtt inn her client.publish(TOPIC"/STAT", "Mailbox live"); // client.subscribe("inTopic"); } Serial.println("MQTT Started"); #endif Serial.print("Frequency "); Serial.print(freq); Serial.print(" Bandwidth "); Serial.print(bw); Serial.print(" SF "); Serial.println(SF); } void loop() { // try to parse packet int packetSize = LoRa.parsePacket(); if (packetSize) { // received a packet String message = ""; while (LoRa.available()) { message = message + ((char)LoRa.read()); } String rssi = "\"RSSI\":\"" + String(LoRa.packetRssi()) + "\""; String jsonString = message; jsonString.replace("xxx", rssi); int ii = jsonString.indexOf("Count", 1); String count = jsonString.substring(ii + 8, ii + 11); counter = count.toInt(); if (counter - lastCounter == 0) Serial.println("Repetition"); lastCounter = counter; sendAck(message); String value1 = jsonString.substring(8, 11); // Vcc or heighth String value2 = jsonString.substring(23, 26); //counter #ifdef OLED display.clear(); display.setTextAlignment(TEXT_ALIGN_RIGHT); displayText(40, 0, value1, 3); display.setTextAlignment(TEXT_ALIGN_RIGHT); displayText(120, 0, String(LoRa.packetRssi()), 3); display.setTextAlignment(TEXT_ALIGN_CENTER); displayText(60, 35, count, 3); display.display(); #endif #ifdef MQTT if (!client.connected()) { reconnect(); } client.publish(TOPIC"/MESSAGE", jsonString.c_str()); #endif } #ifdef MQTT client.loop(); #endif } #ifdef MQTT void reconnect() { // Loop until we're reconnected while (!client.connected()) { Serial.print("Attempting MQTT connection..."); // Attempt to connect if (client.connect("Mailbox")) { Serial.println("connected"); // Once connected, publish an announcement... client.publish(TOPIC"/STAT", "I am live again"); // ... and resubscribe // client.subscribe("inTopic"); } else { Serial.print("failed, rc = "); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); // Wait 5 seconds before retrying delay(5000); } } } void callback(char* topic, byte* payload, unsigned int length) { Serial.print("Message arrived ["); Serial.print(topic); Serial.print("] "); for (int i = 0; i < length; i++) { Serial.print((char)payload[i]); } Serial.println(); } #endif void sendAck(String message) { int check = 0; for (int i = 0; i < message.length(); i++) { check += message[i]; } // Serial.print("/// "); LoRa.beginPacket(); LoRa.print(String(check)); LoRa.endPacket(); Serial.print(message); Serial.print(" "); Serial.print("Ack Sent: "); Serial.println(check); } #ifdef OLED void displayText(int x, int y, String tex, byte font ) { switch (font) { case 1: display.setFont(ArialMT_Plain_10); break; case 2: display.setFont(ArialMT_Plain_16); break; case 3: display.setFont(ArialMT_Plain_24); break; default: display.setFont(ArialMT_Plain_16); break; } display.drawString(x, y, tex); } #endif Her er programmet jeg har kjørt på LoRa kortet: #include <SPI.h> #include <LoRa.h> #include <OneWire.h> #include <DallasTemperature.h> #include <LowPower.h> #define VBATPIN A9 const long freq = 868E6; const int SF = 12; const long bw = 125E3; long zeroAltitude; int counter = 1, messageLostCounter = 0; void setup() { Serial.begin(115200); delay(3000); // Debug message Serial.println("Starting..."); // put your setup code here, to run once: LoRa.setPins(8, 4, 7); // set CS, reset, IRQ pin Serial.println("HEI HEI"); if (!LoRa.begin(freq)) { while (1); } LoRa.setSpreadingFactor(SF); } void loop() { // put your main code here, to run repeatedly: char message[90]; int Vcc = readVcc()*100; int Temp = readTempDS18B20()*10; sprintf(message, "{\"Vcc\":\"%3d\",\"Count\":\"%03d\",\"Lost\":\"%03d\",\"Temp\":\"%3d\", xxx}", Vcc, counter, messageLostCounter,Temp); sendMessage(message); int nackCounter = 0; while (!receiveAck(message) && nackCounter <= 5) { LoRa.sleep(); delay(10); sendMessage(message); nackCounter++; } if (nackCounter >= 5) { messageLostCounter++; delay(10); } counter++; LoRa.sleep(); // 10min og 40 sek = 60x10+40 = 640 s // 640 s / 8 s = 80 unsigned int sleepCounter; for (sleepCounter = 80 ; sleepCounter > 0; sleepCounter--) { LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); } delay(100); } void sendMessage(String message) { LoRa.beginPacket(); LoRa.print(message); LoRa.endPacket(); } bool receiveAck(String message) { String ack; bool stat = false; unsigned long entry = millis(); while (stat == false && millis() - entry < 2000) { if (LoRa.parsePacket()) { ack = ""; while (LoRa.available()) { ack = ack + ((char)LoRa.read()); } int check = 0; for (int i = 0; i < message.length(); i++) { check += message[i]; } if (ack.toInt() == check) { stat = true; } } } return stat; } float readTempDS18B20() { OneWire oneWire(10); DallasTemperature sensors(&oneWire); DeviceAddress thermometer; sensors.begin(); sensors.getAddress(thermometer, 0); sensors.setResolution(thermometer, 12); sensors.requestTemperatures(); float temp = sensors.getTempC(thermometer); Serial.println(temp); return temp; } float readVcc() { long result; float measuredvbat = analogRead(VBATPIN); measuredvbat *= 2; // we divided by 2, so multiply back measuredvbat *= 3.3; // Multiply by 3.3V, our reference voltage measuredvbat /= 1024; // convert to voltage result = measuredvbat; Serial.println(result); return measuredvbat; } 2 Siter
mk1 black limited Skrevet 7. august 2019 Skrevet 7. august 2019 Takk! Første problem, får ikke kompilert hverken den ene eller den andre. får hhv.: Quote exit status 1 Error compiling for board NodeMCU 1.0 (ESP-12E Module). ...og Quote exit status 1 Error compiling for board Adafruit Feather HUZZAH ESP8266. Totalt n00b på Arduino så jeg har prøvd å gjette litt uten hell. Hvilke boards skal jeg velge for de to kortene, og hvilke libraries bruker du sammen med koden? Siter
Holmis Skrevet 7. august 2019 Skrevet 7. august 2019 Hei, Du må legge til følgende som på bilde nedenfor: http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://adafruit.github.io/arduino-board-index/package_adafruit_index.json Deretter velger du på noden som på bilde nedenfor: På Gateway så velger du: Siter
mk1 black limited Skrevet 7. august 2019 Skrevet 7. august 2019 Success!!! LoRa Receiver LoRa Started ........... MQTT Started Frequency 868000000 Bandwidth 125000 SF 12 {"Vcc":"424","Count":"001","Lost":"000","Temp":"-1270", xxx} Ack Sent: 3911 Takk! Nå trenger jeg bare en DS18B20...:) Sånn forøvrig: Kan man kjøpe en hvilken som helst LoRa-sensor og få denne inn i gatewayen? Siter
Holmis Skrevet 7. august 2019 Skrevet 7. august 2019 Ja, i utgangspunktet. Men da må du bruke et annet program i GW. Programmet i node ute og GW må stemme overens så de snakker samme "språk". GW støtter også bare 1 kanal omgangen, ferdige sensorer veksler gjerne mellom 8 kanaler. Du skal få inn data uten temperatur sensor også. Telleren og RSSI, samt spenningen skal overføres via MQTT. Spenningen er ikke helt korrekt, om du googler dette så er det et problem på disse kortene. Siter
mk1 black limited Skrevet 8. august 2019 Skrevet 8. august 2019 15 hours ago, Holmis said: Ja, i utgangspunktet. Men da må du bruke et annet program i GW. Programmet i node ute og GW må stemme overens så de snakker samme "språk". GW støtter også bare 1 kanal omgangen, ferdige sensorer veksler gjerne mellom 8 kanaler. Vet du om source til annet program som kan brukes i GW som er litt mer generisk og kan brukes med ferdige sensorer (også)? LoRa-sensorer er ukjent grunn for min del, så jeg vet ikke om de kan låses til gitt kanaler f.eks.? Siter
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.