fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

9.9K
active users

#ESPNOW

0 posts0 participants0 posts today
cybervegan<p><a href="https://autistics.life/tags/JournalEverything" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JournalEverything</span></a> DIY bike shed alarm update: I've been chewing this over for a few days now. I didn't post about it at the time, because I was still processing it. </p><p>I was busy hooking the updated ESP32-based external alarm panel electronics up on Saturday night, in fact I was nearly done, and as I was working I noticed a "hot electronics" smell. No <a href="https://autistics.life/tags/MagicSmoke" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MagicSmoke</span></a> but a definite "hot" smell. Using my built-in temperature sensor (aka index finger) I traced this to the actual S2-mini ESP32 board. And it was hot enough to make me recoil. <a href="https://autistics.life/tags/BadNews" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>BadNews</span></a> .</p><p>I disconnected the power - both the battery backup and the DC feed and bailed. It was dark and I was well overstimulated from trying to get everything wired together properly in the cramped space of the enclosure box. </p><p>So I've been mulling this over "on the backburner" (i.e. subconsciously) ever since. I hadn't reached any conclusions yet, so I let it sit there.</p><p>This morning, I have some ideas/theories. Will be investigating further:</p><p>1. The piezo sounder could be drawing too much current. It was sounding constantly from the time I hooked up the backup battery.</p><p>2. The tone() call I'm using to drive could be too CPU intensive.</p><p>3. The <a href="https://autistics.life/tags/ESPNOW" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNOW</span></a> radio comms is somehow causing the heat - perhaps winding the output power up really high because it was getting no response from its peer, which was switched off at the time. I don't know how much, if any, handshaking ESPNOW does.</p><p>4. Something else electronic is drawing too much current through the onboard voltage regulator or similar.</p><p><a href="https://autistics.life/tags/WeWillSee" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>WeWillSee</span></a></p>
cybervegan<p><a href="https://autistics.life/tags/JournalEverything" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JournalEverything</span></a> Back working on the bike shed alarm. I've disconnected the old <a href="https://autistics.life/tags/D1" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>D1</span></a>-mini board from the shed panel, and brought the guts back to my desk. Confirmed that the S2-mini board does in fact fit, and powers up h <a href="https://autistics.life/tags/yay" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>yay</span></a>! Now I need to get this one paired with the CYD off the internal panel and check I've got the right IO ports defined (they are different from the D1) and that everything works properly. I mean, it worked on the breadboard but everyone says that... <a href="https://autistics.life/tags/Arduino" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Arduino</span></a> <a href="https://autistics.life/tags/ESP32" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESP32</span></a> <a href="https://autistics.life/tags/DIY" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DIY</span></a> <a href="https://autistics.life/tags/ESPNOW" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNOW</span></a></p><p>[Edit added photos and alt text]</p>
cybervegan<p><a href="https://autistics.life/tags/JournalEverything" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JournalEverything</span></a> Starting with the CYD "internal alarm panel" - I need to add in a tiny bit of coffee to drive the sounder. It needs to pip when the shed door is opened or closed, and scream if the alarm "loop" is broken. It gets status messages over <a href="https://autistics.life/tags/ESPNOW" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNOW</span></a> wireless protocol (NOT WiFi). I program these using the <a href="https://autistics.life/tags/Arduino" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Arduino</span></a> IDE in c++. As it runs a state machine algorithm, this should be pretty easy...</p>
cybervegan<p>Tomorro's <a href="https://autistics.life/tags/todolist" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>todolist</span></a> </p><p>1. <a href="https://autistics.life/tags/3DPrint" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>3DPrint</span></a> the next section of an insulin canula puck store I designed for my 24YO <a href="https://autistics.life/tags/enby" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>enby</span></a>'s partner. Start off first thing in the morning - it's a 15 hour print.</p><p>2. Work on updating my home-made bike-shed alarm to use <a href="https://autistics.life/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a> instead of wifi because the wifi extender it currently relies on keeps dying/dropping out. </p><p>3. Install NodeBB on my FreeBSD server and play round with it.</p><p>4. Get newly acquired newer old laptop properly set up to run my <a href="https://autistics.life/tags/LaserCutter" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LaserCutter</span></a>. Got Debian installed on it, got most of the software installed, now need to test and tweak.</p><p>5. First physiotherapy appointment in the afternoon for my creaky knees. I know they're wearing out (arthritis) but they have got a lot worse in the past 4 months.</p><p>6. Play Shattered Pixel Dungeon and Lexica, and posting/scrolling on Mastodon in spare moment between all that!</p><p>[Edit: forgot (I do that a lot)]:<br>7. Growing "sprouting beans". I've had a jar of them soaking, they should start sprouting tomorrow. They need watering 3 times a day.</p>
Chi ha ucciso Il Conte?<p>Im using espnow protocol to link sensors to a pure data patch <a href="https://c.im/tags/esp32" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>esp32</span></a> <a href="https://c.im/tags/espnow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>espnow</span></a> <a href="https://c.im/tags/puredata" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>puredata</span></a> <a href="https://c.im/tags/uidesign" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>uidesign</span></a> <a href="https://c.im/tags/design" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>design</span></a> <a href="https://c.im/tags/arduinoide" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>arduinoide</span></a> <a href="https://c.im/tags/interface" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>interface</span></a> <a href="https://c.im/tags/interfacedesign" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>interfacedesign</span></a></p>
Hpsaturn<p>In this video, I demonstrate how to configure the target device using a specific channel over ESP-NOW, utilizing the ESP32 Camera CLI project and the <a href="https://mastodon.cloud/tags/ESPNowCam" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNowCam</span></a> library.</p><p>More info in the description:<br><a href="https://youtu.be/ibuKil7jjsg" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/ibuKil7jjsg</span><span class="invisible"></span></a> <a href="https://mastodon.cloud/tags/ESP32" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESP32</span></a> <a href="https://mastodon.cloud/tags/CLI" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CLI</span></a> <a href="https://mastodon.cloud/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a></p>
Erik Natanael<p>Connected the <a href="https://post.lurk.org/tags/neod" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>neod</span></a> to a bunch of lights via <a href="https://post.lurk.org/tags/espnow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>espnow</span></a> during a wonderful Visualia residency at Into the Woods</p>
morgan<p>It's still got some issues, but looks like UDP/IP works for the most part. I've done a couple <a href="https://leds.social/tags/CoAP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CoAP</span></a> requests, so that's cool.</p><p>There's a bit of into in the repo but this will need more detail and a larger writeup of the whole project(s), covering<br><a href="https://leds.social/tags/ESP32" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESP32</span></a> <a href="https://leds.social/tags/NetIF" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NetIF</span></a> &lt;&gt; <a href="https://leds.social/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a>,<br><a href="https://leds.social/tags/LwIP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LwIP</span></a> over ESPNow<br><a href="https://leds.social/tags/Linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Linux</span></a> <a href="https://leds.social/tags/TUNTAP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TUNTAP</span></a> &lt;&gt; <a href="https://leds.social/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a></p><p>And that's all just been groundwork for what I really want to do (recap: CoAP like serverless <a href="https://leds.social/tags/MQTT" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MQTT</span></a>)</p><p><a href="https://git.oit.cloud/morgan/ifnow.git" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">git.oit.cloud/morgan/ifnow.git</span><span class="invisible"></span></a></p>
morgan<p>heck yeah! there's the last piece for basic functionality. Turns out i needed a TAP interface over a TUN (need the MAC headers) and needed to learn more about radiotap headers but I now have bidirectional communication between <a href="https://leds.social/tags/Linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Linux</span></a> and <a href="https://leds.social/tags/ESP32" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESP32</span></a> over an <a href="https://leds.social/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a> interface. <a href="https://leds.social/tags/CoAP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CoAP</span></a> 'just works' now, and presumably what ever else I throw at it.</p>
morgan<p>wowowowowee! I did it!<br>I've got got raw <a href="https://leds.social/tags/espnow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>espnow</span></a> packets coming in over the wlan interface in monitor mode and writing them back out to an IFF_TUN interface! Couple more tweaks and I should be able to make <a href="https://leds.social/tags/CoAP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CoAP</span></a> call from <a href="https://leds.social/tags/Linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Linux</span></a> and have them received by an <a href="https://leds.social/tags/ESP32" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESP32</span></a> over ESP-Now!</p>
morgan<p>I'm super close, I can send/receive <a href="https://leds.social/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a> (Thanks Linux_ESPNOW project for guidance) and I can send/receive over the TUN interface. The issue is they use different headers and my exhausted brain meat cannot seem to figure out how to massage one into the other.</p>
morgan<p>*brain melting anguish*<br>why did I think writing a TUN interface for <a href="https://leds.social/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a> would be a good idea??? Worse yet, why did I think it would be a straight forward process????</p>
morgan<p>I did a write up on my recent work with <a href="https://leds.social/tags/ESP32" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESP32</span></a> <a href="https://leds.social/tags/ESP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESP</span></a>-NETIF <a href="https://leds.social/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a> <a href="https://leds.social/tags/LwIP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LwIP</span></a> and <a href="https://leds.social/tags/CoAP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CoAP</span></a> </p><p>CoAP over Everything:<br><a href="https://oit.cloud/posts/2023-12-30-coap-over-everything/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">oit.cloud/posts/2023-12-30-coa</span><span class="invisible">p-over-everything/</span></a></p><p>This is going to be a bit of a living post, serving as my memory and progress report on this exploration.</p>
morgan<p>and thrr we have it, first pass at `esp_netif_now`, <a href="https://leds.social/tags/LwIP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LwIP</span></a> interface over <a href="https://leds.social/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a>. Surprisingly capable for pretty minimal code.</p><p>I'm really excited to experiment with this for projects I'd normally use <a href="https://leds.social/tags/MQTT" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MQTT</span></a> on <a href="https://leds.social/tags/esp32" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>esp32</span></a> </p><p><a href="https://git.oit.cloud/morgan/esp_netif_now" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">git.oit.cloud/morgan/esp_netif</span><span class="invisible">_now</span></a></p>
morgan<p>Alright! After some distractions and hobbling around the house for a bit.... I'm going to start a stream! Will be continuing my work on <a href="https://leds.social/tags/CoAP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CoAP</span></a> over <a href="https://leds.social/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a>. Specifically I will be writing a standalone ESP-Now ESP-NETIF interface then hacking on this concept of "Serverless MQTT" via CoAP.</p><p>Stream here, please <a href="https://leds.social/tags/boost" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>boost</span></a> <br><a href="https://stream.oit.cloud" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">stream.oit.cloud</span><span class="invisible"></span></a></p><p>Probably will go no audio, at least until there is someone to talk to.</p><p>I'll also continue to post notes on this thread. <a href="https://leds.social/@morgan/111632586196427750" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">leds.social/@morgan/1116325861</span><span class="invisible">96427750</span></a></p>
morgan<p>Very happy with progress of getting <a href="https://leds.social/tags/CoAP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CoAP</span></a> over <a href="https://leds.social/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a> going. Basically works but is a pile of hack. Single file composed of various bits of <a href="https://leds.social/tags/espidf" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>espidf</span></a> example, driver and test code. So I'm going to spend today rewriting it, as at least 2 distinct components. One will be `esp-netif-now`, binding ESP-Now to <a href="https://leds.social/tags/LwIP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LwIP</span></a>. The other part would be a more abstract, "what does serverless MQTT look like?". I'll continue posting my stream of conciseness here and if I can figure out audio issues, I'll also stream.</p>
morgan<p>holy smokes! I got it working!</p><p>The last issue was some combo of not telling <a href="https://leds.social/tags/CoAP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CoAP</span></a> which IP to listen on (maybe..) and not processing the CoAP client IO correctly. Got fully functioning <a href="https://leds.social/tags/CoAP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CoAP</span></a>/#LwIP over <a href="https://leds.social/tags/ESPNOW" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNOW</span></a> </p><p>This is super cool, with little modification this could be used over <a href="https://leds.social/tags/LoRa" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LoRa</span></a>.</p>
morgan<p>Sweet! I've got ARP tables updating, apparently LwIP doesn't update the table on broadcasts (but does if it 'overhears' a packet, and its already in the table??).</p><p>With that, I've got direct transmission between nodes, but still seems like some <a href="https://leds.social/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a> packets are not transmitting. Time to reenable CoAP and just see how it goes....</p>
morgan<p>ugh, this is where things get super annoying... ya see, the entire <a href="https://leds.social/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a> interface is a binary blob. So now I'm at a point it will not broadcast... and I just cannot see what's going on any further down.... The work from Jasper Devreker cannot come soon enough. <a href="https://zeus.ugent.be/blog/23-24/open-source-esp32-wifi-mac/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">zeus.ugent.be/blog/23-24/open-</span><span class="invisible">source-esp32-wifi-mac/</span></a></p>
morgan<p>huh, I might actually be a sprinkling of Semephores away from this actually working.</p><p>I got <a href="https://leds.social/tags/LwIP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LwIP</span></a> over <a href="https://leds.social/tags/ESPNow" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ESPNow</span></a> working, with basic UDP packets, LwIP seemingly taking care of ARP.</p><p>But if I enable the <a href="https://leds.social/tags/CoAP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CoAP</span></a> server/client everything just seems to go to broadcast, like the increased traffic is breaking something.</p><p>Still mostly immobile so I'm still hacking on this. I'm especially excited for this route (using ESP-NETIF) because once I figure it out, it would be trivial to implement over <a href="https://leds.social/tags/LoRa" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LoRa</span></a></p>