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
@jaguar963:

bardzo skomplikowane jest esp8266 w czystym C?


Trochę ciężko mi powiedzieć. Są 2/3 drogi:

- NONOS SDK - czyli niby bez systemu operacyjnego. Gdy chcesz mieć pełną kontrolę nad sprzętem somsiedzie ( ͡° ͜ʖ ͡°) Do tego Espresiff zapewnia jakąś dokumentację:
https://www.espressif.com/sites/default/files/documentation/2c-esp8266_non_os_sdk_api_reference_en.pdf
Na to pisałem ten mój nano server. Z minusów. ESP8266 ma peryferia takie jak I2S(cyfrowy dźwięk) czy modulator sigma-delta(na przykład komunikację na podczerwień da
QBA_ - @jaguar963: 
 bardzo skomplikowane jest esp8266 w czystym C?

Trochę ciężko ...
@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
@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 contentu.
@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);
^
@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.
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
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!!