Wpis z mikrobloga

Mirky elektroniki od #esp8266 założyłem ostatnio konto na #github i może się komuś przyda.
Zrobiłem taki minimalny webserver w C(motzno wzorowane na części kodu SUPLI by @pzygmunt)
Nazwałem to:

**espnanohttpd**
link do repo
link do przykładu

A na co to komu? A komu to potrzebne?

Starałem się rozpisać po angielsku(jak umiem) na githubie, ale tu jest mirko - elita internetu, i tu anglików uczą angielskiego, więc streszczę to tak:

Dajmy na to jak robisz bulbulator z WiFi w swojej piwnicy i kucujesz tam takie coś:

#define PIWNICA_SSID "PIWNICA_ANONA"
#define PIWNICA_PASS "superTajnyKOD"
To za każdym razem jak zmienisz hasło w routerze, albo zaniesiesz bulbulator do kolegi będziesz musiał kąpilować jeszcze raz z nową nazwą sieci i hasłem. No chyba by Cię #!$%@?ło żebyś tak robił ()

A używając **espnanohttpd** jak cywilizowany człowiek normalnie robi Ci się Access Point WiFi

BULBULATOR-31AF


Łączysz się z komputera/tabletu/smartfona/zegarka z tą siecią, wchodzisz na 192.168.4.1, podajesz nazwę sieci domowej i hasło i gitara.
A nawet więcej - możesz sobie zrobić interfejs przeglądarkowy i ustawiać z niego stałą bulbulacji i zmienną bulbulacji też ( ͡° ͜ʖ ͡°)

Tak swoją drogą, to jest pod proste strony HTML, jak chcecie hostować śmieszne obrazki to trzeba użyć tego:
https://github.com/Spritetm/libesphttpd

W przykładzie na repozytorium zamiast bulbulatora możecie sobie z przeglądarki pomigać diodą szybciej lub wolniej. Powinno działać też na płytkach ESP-01, ja używam nodeMCU.

Do kompilacji jest potrzebny ten toolchain+SDK i #linux
https://github.com/pfalcon/esp-open-sdk


#qbadev #elektronika #programowanie #jezykc #iot #bulbulator
QBA__ - Mirky elektroniki od #esp8266 założyłem ostatnio konto na #github i może się ...

źródło: comment_pbOhRUs3fJKjnq9pdFG8mBjaRKKLUhXc.jpg

Pobierz
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@QBA__: z arduino właśnie korzystam, da się tam szybko i dużo zrobić ale raczej do bardzo amatorskiego zastosowania. Dlatego pytam jak jest z sdk producenta, ale jak mówisz ze dokumentacja jest kiepska to raczej ciężko będzie się coś nauczyć pożytecznego, więcej będzie nerwów i kopiowania przykładów z neta
  • Odpowiedz
@jaguar963: do zastosowań typu jakiś termometr na one wire, czujnik na i2c czy spi to jest łatwe. Mi się ubzdurał odtwarzacz plików. wav z karty pamięci i nie było łatwo. Żeby odpalić sprzętowy i2s musiałem podglądać co się dzieje analizatorem stanów logicznych. W końcu i tak przeportowałem z Arduino core - ten firmware jest napisany na NONOS SDK swoją drogą. Kolejne rzeczy będę działał na esp-open-rtos. Tam jest dużo porządnego
  • Odpowiedz
@QBA__: próbuję skompilować przykład, leci seria błędów z volatile. Może coś zmienili ostatnio w SDK.
user/usermain.c:81:4: error: passing argument 1 of 'etstimerdisarm' discards 'volatile' qualifier from pointer target type [-Werror]
os
timerdisarm(&blinktimer);
^
  • Odpowiedz
@QBA__: jeszcze jedna sprawa przy okazji. ESP8266 obsługuje tylko jeden kanał WiFi. W związku z tym gdy interfejs STA szuka sieci, to AP cały czas zmienia kanał i trudno się z nim połączyć. Trzeba by więc jakoś szukanie "PIWNICA_ANONA" uruchamiać tylko w określonych sytuacjach. Da się to jakoś elegancko zrobić? Np. szukanie skonfigurowanego SSIDa tylko: a) przy jego zmianie z poziomu AP b) po resecie c) po utracie połączenia.
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@zarowka12:
Rozumiem mireczku że chodzi Ci o sytuację:
W ESP skonfigurowany Access Point, ale jesteśmy poza jego zasięgiem i działamy w trybie STA+AP i ESP co sekundę próbuje się połączyć z routerem blokując tryb AP?

Mam zrobiony projekt w którym jest to wszystko rozwiązane tak: Urządzenie startuje w trybie STA jeżeli ma skonfigurowane ssid i hasło. Po przytrzymaniu przycisku konfiguracji przez 10 sekund wchodzi w tryb STA+AP i co ważne wywoływana jest
  • Odpowiedz
Wow! Mireczku, to działa! (po wywaleniu volatile). Moja sieć domowa niestety posiada myślnik w nazwie, więc trzeba było edytować regexa. Niemniej jednak wyrazy uznania, coś cudownego!!
  • Odpowiedz