|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
krejn Član
Pridružen-a: Tor 07 Apr 2015 19:30 Prispevkov: 19 Aktiv.: 0.17
|
Objavljeno: Čet Jul 07, 2016 9:38 pm Naslov sporočila: Pošiljanje vrednosti senzorja preko ESP8266 na arduino |
|
|
Pozdravljeni!
Delam na projektu kjer merim temperaturo in co2 na dveh mestih v prostoru. Ker je druga merilna točka predaleč od arduinota, da bi lahko izmerjeno vrednost pošiljal po kablu(dobivam naključne vrednosti), sem se odločil da bom to vrednost pošiljal preko WIFI signala z ESP 8266-01, Ampak v bližini nimam WIFI-ja ne interneta.
Ali mogoče ve kdo, kako je to izvedljivo? Brskal sem, vendar vsi uporabljajo ta modul da se povežejo na internet in potem te vrednosti očitajo na neki spletni strani ali telefonu.
Zamislil sem si, da bi vezal na vsak senozr en esp modul (brez arduinota) in potem, da bi signal sprejemal na arduinotu z enim esp modulom. Je možno tako ali morem obvezno imet neko wifi povezavo?
Hvala za odgovor! |
|
Nazaj na vrh |
|
|
tilz0R Član
Pridružen-a: Čet 31 Maj 2012 15:39 Prispevkov: 898 Aktiv.: 6.20 Kraj: Črnomelj
|
Objavljeno: Čet Jul 07, 2016 10:08 pm Naslov sporočila: |
|
|
Opcij je veliko, ena je definitivno to, da imaš 2 ESP modula, kjer je eden kot "server" (AP mode), drugi kot "client" (STA mode).
Tisti, ki je server ga imaš na arduinota priklopljenega (recimo preko AT komand), drugega, ki meri pa sprogramiraš sam, da se ESP obnaša kot mikrokontroler z lastno kodo.
Lahko pa oba priklopiš vsakega na svoj arduino in komuniciraš. _________________ Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net |
|
Nazaj na vrh |
|
|
mosqito Član
Pridružen-a: Čet 07 Apr 2016 23:22 Prispevkov: 3241 Aktiv.: 33.09
|
Objavljeno: Čet Jul 07, 2016 10:24 pm Naslov sporočila: |
|
|
Če že imaš kabel, uporabi za to primerno izvedbo. To je lahko npr. RS485. Na vsako stran daj po en SN65HVD72D in bo šlo preko. Dodaj še preverjanje s CRC, pa kakšen framing paketov in si zmagal.
Nekaj malega lahko prebereš tule: http://e.pavlin.si/2016/06/04/hdlc-like-data-link-via-rs485/ _________________ Always going the extra mile. |
|
Nazaj na vrh |
|
|
damo Član
Pridružen-a: Čet 31 Jul 2003 13:45 Prispevkov: 2008 Aktiv.: 9.01 Kraj: Krško
|
Objavljeno: Pet Jul 08, 2016 8:27 am Naslov sporočila: |
|
|
Po moje bi bila boljša opcija po 433MHz. Glej module s CC1101, so poceni, domet pa je tudi do 200m. _________________ Dobrga štromarja samo slab šnops strese! |
|
Nazaj na vrh |
|
|
krejn Član
Pridružen-a: Tor 07 Apr 2015 19:30 Prispevkov: 19 Aktiv.: 0.17
|
Objavljeno: Pet Jul 08, 2016 10:15 am Naslov sporočila: |
|
|
hvala!
se bom odločil kar za opcijo ki jo je predlagal tilzOR, glede na to da že imam te module doma. Zdej sem končno se začel premikat, ker prej nisem vedel niti kaj iskat.
Kar se tiče povezave preko RS485 se mi zdi dosti bolj zanesljiva kot preko wifija ali 433mhz območja, tako da bom pri naslednjem projektu ali morebitni nadgradnji tega definitivno uporabil povezavo preko žice. |
|
Nazaj na vrh |
|
|
mosqito Član
Pridružen-a: Čet 07 Apr 2016 23:22 Prispevkov: 3241 Aktiv.: 33.09
|
Objavljeno: Pet Jul 08, 2016 11:56 am Naslov sporočila: |
|
|
krejn je napisal/a: |
Kar se tiče povezave preko RS485 se mi zdi dosti bolj zanesljiva kot preko wifija ali 433mhz območja, tako da bom pri naslednjem projektu ali morebitni nadgradnji tega definitivno uporabil povezavo preko žice. |
Če imaš možnost potegniti kabel, je to res najboljša varianta, pa še napajanje tako rešiš na enostaven način. _________________ Always going the extra mile. |
|
Nazaj na vrh |
|
|
krejn Član
Pridružen-a: Tor 07 Apr 2015 19:30 Prispevkov: 19 Aktiv.: 0.17
|
Objavljeno: Sre Avg 31, 2016 3:02 pm Naslov sporočila: |
|
|
Evo, uspelo mi je vspostavit povezavo med obema esp-ja in arduinotom mega.
Imam pa en problem in nevem kako ga rešit...
CLIENT pošlje podatke senzorjov na AP in potem AP potom Tx porta(SofwereSerial) na Arduinota. Arduino sprejme te podatke in mi jih tudi izpiše na serijskem vmesniku, zgledajo tako:
29.70
39.90
29.34
686.00
Rad bi, da bi mi vsako vrstico shranlo v svojo spremenljivko.
Koda na arduinotu, ki prebere in izpiše te podatke:
Koda: |
#include <SoftwareSerial.h>
SoftwareSerial ESPserial(10, 11); // RX | TX
void setup()
{
Serial.begin(9600); // communication with the host computer
//while (!Serial) { ; }
// Start the software serial for communication with the ESP8266
ESPserial.begin(9600);
}
void loop()
{
// listen for communication from the ESP8266 and then write it to the serial monitor
if ( ESPserial.available() ) {
Serial.write( ESPserial.read() );
}
}
|
Ima kdo kakšno idejo?
Probal sem že vse živo vendar mi je zmanjkalo znanja in idej... |
|
Nazaj na vrh |
|
|
tilz0R Član
Pridružen-a: Čet 31 Maj 2012 15:39 Prispevkov: 898 Aktiv.: 6.20 Kraj: Črnomelj
|
Objavljeno: Sre Avg 31, 2016 3:04 pm Naslov sporočila: |
|
|
Sprejete characterje shranjuješ v char array ali v string objekt.
Ko sprejmeš \n znak "LF", veš da je vrstice konec.
Takrat začneš pretvarjati string v float in to ustrezno shraniti v spremenljivko ali v array. _________________ Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net |
|
Nazaj na vrh |
|
|
krejn Član
Pridružen-a: Tor 07 Apr 2015 19:30 Prispevkov: 19 Aktiv.: 0.17
|
Objavljeno: Sre Avg 31, 2016 4:24 pm Naslov sporočila: |
|
|
kak primer? da vidim kako približno zgleda... |
|
Nazaj na vrh |
|
|
krejn Član
Pridružen-a: Tor 07 Apr 2015 19:30 Prispevkov: 19 Aktiv.: 0.17
|
Objavljeno: Sre Avg 31, 2016 5:47 pm Naslov sporočila: |
|
|
evo rešu!
Koda: |
while (ESPserial.available()){
char recieved = ESPserial.read();
inData += recieved;
if (recieved == '\n')
{
count++;
if (count == 1){
temp = inData;
}
if (count == 2){
vlaga = inData;
}
if (count == 3){
hic = inData;
}
if (count == 4){
co2 = inData;
count = 0;
}
inData = ""; // Clear recieved buffer
}
}
|
Hvala! |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 74 dni
Powered by phpBB © 2001, 2005 phpBB Group
|