Skip to content

How to use? #5

@MRIIOT

Description

@MRIIOT

Here is my setup, but so far I do not see messages at Linux or ESP end...
I am using the changes from here: #4
I confirmed that I can send/receive between two ESPs.

sudo apt install git python3-venv net-tools

git clone https://github.com/ChuckMash/ESPythoNOW.git
cd ESPythoNOW
python3 -m venv venv
source venv/bin/activate
pip install scapy
sudo bash prep.sh wlo2 8

# create sniff.py

cp venv/bin/python3 venv/bin/python_netraw
sudo chown $USER venv/bin/python_netraw
chmod -x,u+x venv/bin/python_netraw
sudo setcap cap_net_raw=eip venv/bin/python_netraw
python_netraw sniff.py

sniff.py

from ESPythoNOW import *
import time

def callback(from_mac, to_mac, msg):
  print("ESP-NOW message from %s to %s: %s" % (from_mac, to_mac, msg))

espnow = ESPythoNow(interface="wlo2", accept_all=True, callback=callback)
espnow.start()
print("running")
# input() # Run until enter is pressed

while True:
        msg=b'\x01\x10'
        espnow.send("08:d1:f9:54:00:cc", msg)
        time.sleep(3)

linux ip a show:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:e0:4c:01:b8:d6 brd ff:ff:ff:ff:ff:ff
3: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:e0:4c:01:b8:d7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.206/24 brd 192.168.111.255 scope global dynamic noprefixroute enp3s0
       valid_lft 404sec preferred_lft 404sec
    inet6 fe80::2e0:4cff:fe01:b8d7/64 scope link
       valid_lft forever preferred_lft forever
4: wlo2: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state DORMANT group default qlen 1000
    link/ieee802.11/radiotap 34:7d:f6:b5:6f:a3 brd ff:ff:ff:ff:ff:ff
    altname wlp0s12f0

ESP script:

import network
import espnow

_esp_now_peer = b'\x34\x7d\xf6\xb5\x6f\xa3'

sta = network.WLAN(network.STA_IF)
sta.active(True)
sta.disconnect()
now = espnow.ESPNow()
now.active(True)
now.add_peer(_esp_now_peer)
now.send(_esp_now_peer, "hello from SHARC")
print('espnow: hello sent to peer')

while True:
  host, msg = now.recv()
  if msg:
    print(f'espnow: received {msg} from {host}')

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions