[(Micro)Python] Tekstbericht verzenden tussen 2 x ESP8266

Pagina: 1
Acties:

Onderwerpen

Vraag


  • ZipoBibrok5-108
  • Registratie: Januari 2004
  • Laatst online: 22-08 15:56
Voor een persoonlijk projectje probeer ik 2 ESP8266 microcontrollers via wifi met elkaar te laten communiceren. Python heb ik op zich geen moeite mee maar het gedeelte betreffende de wifi/socket communicatie heb ik geen kaas van gegeten. Het uiteindelijke doel is om de GPIO pins van de server te kunnen bedienen via een wifi verbinding. Zover ben ik nog (lang) niet, onderstaande is puur een test om te kijken of er überhaupt een tekstberichtje door komt.

Op de server heb ik momenteel dit staan:
Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import network
import socket

ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid='ESPDuino-AP', authmode=network.AUTH_WPA_WPA2_PSK, password="ESPDuino-01")
ap.ifconfig(('192.168.4.10', '255.255.255.0', '192.168.4.1', '208.67.222.222'))

server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server.bind(('192.168.4.10', 5002))
while True:
    data, addr = server.recvfrom(1024)
    print(data)
    print(addr)

En de client staat dit:
Python:
1
2
3
4
5
6
7
8
9
10
11
12
import network
import time
import socket

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('ESPDuino-AP', 'ESPDuino-01')
time.sleep(1)
wlan.ifconfig(('192.168.178.107', '255.255.255.0', '192.168.178.1', '8.8.8.8'))

client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client.sendto('Hello, world', ('192.168.4.10', 5002))

Beide codes geven geen foutmeldingen en de wifi verbinding tussen beide wordt wel correct opgezet. Toch blijft de server luisteren en ontvangt/print niks. Vooraf leek me dit een redelijk simpele taak maar ik kom er niet uit. |:(

Deze codes zijn al zo ongeveer de 10de poging om een simpel tekstberichtje te verzenden. Hiervoor heb ik meerdere standaard voorbeelden van diverse websites/forums geprobeerd, allen helaas zonder succes. Ik heb het ook geprobeerd met TCP sockets maar ook dat was zonder succes. Nu heb ik dus eerst gekozen voor UDP sockets, om zodanig de testcode tot het absolute minimum te beperken.

De lucht is groen, het gras is blauw. Ik ben niet dronken, wat lul je nou?

Alle reacties


  • WouterG
  • Registratie: December 2000
  • Nu online

WouterG

Dit is geen ondertitel

Kun je ze niet eerst eens in een enkel subnet zetten. Ik weet niet hoe de rest van de configuratie eruit ziet, maar het lijkt erop dat je nu zou moeten routeren.

  • ZipoBibrok5-108
  • Registratie: Januari 2004
  • Laatst online: 22-08 15:56
WouterG schreef op zaterdag 15 september 2018 @ 10:12:
Kun je ze niet eerst eens in een enkel subnet zetten. Ik weet niet hoe de rest van de configuratie eruit ziet, maar het lijkt erop dat je nu zou moeten routeren.
Dit heb ik zojuist even geprobeerd: Als ik ze beide als client aan mijn wifi-netwerk hang werkt het inderdaad wel. Dan ben ik nog niet waar ik wil zijn maar in ieder geval werkt het UDP socket gedeelte correct.

Probleem blijft dus dat ik dit zonder externe server wil doen.

De lucht is groen, het gras is blauw. Ik ben niet dronken, wat lul je nou?


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 11-09 12:01
Je client hang in een ander netwerk als je server en kan deze dus niet bereiken.

Probeer het eens door de client DHCP te laten gebruiken, of zijn adres in te stellen op iets dat in 192.168.4.X ligt ( met X != 10 natuurlijk, want dat is je server)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • ZipoBibrok5-108
  • Registratie: Januari 2004
  • Laatst online: 22-08 15:56
farlane schreef op zaterdag 15 september 2018 @ 11:20:
Je client hang in een ander netwerk als je server en kan deze dus niet bereiken.

Probeer het eens door de client DHCP te laten gebruiken, of zijn adres in te stellen op iets dat in 192.168.4.X ligt ( met X != 10 natuurlijk, want dat is je server)
Dat had ik ook al geprobeerd maar zonder succes helaas.
Hier staat juist dat dat niet het geval moet zijn (helemaal onderaan):
https://forum.micropython.org/viewtopic.php?t=2573

De lucht is groen, het gras is blauw. Ik ben niet dronken, wat lul je nou?


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 11-09 12:01
ZipoBibrok5-108 schreef op zaterdag 15 september 2018 @ 11:36:
[...]

Dat had ik ook al geprobeerd maar zonder succes helaas.
Hier staat juist dat dat niet het geval moet zijn (helemaal onderaan):
https://forum.micropython.org/viewtopic.php?t=2573
Da's een andere situatie, die vent probeert de ESP als AP en client tegelijk te laten werken.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1