ESP8266 examples and toolchain setup

Related tags

Arduino ESP8266
Overview

README

These apps accomplish the following:

-- ESP8266-EVB-blinkLED : Blink by green LED on ESP8266-EVB

-- arduino_style :

-- esphttpd : Advanced web-server for ESP8266-EVB (Config, Rele, Button).

Build toolchain

https://github.com/pfalcon/esp-open-sdk is easy to use, it basically does all on its own.

  • Clone the repository to /opt/Espressif (or somewhere else, this path seems to be preferred by some people)
  • Install dependencies: sudo apt-get install make unrar autoconf automake libtool gcc g++ gperf flex bison texinfo gawk ncurses-dev libexpat-dev python sed
  • make, wait a few minutes, done.
  • Add export PATH="${PATH}:/opt/Espressif/xtensa-lx106-elf/bin to your .bashrc, .profile, .zshrc, whatever. Or just run it every time you want to use the toolchain.

In some versions of the SDK there seems to be a problem with some type definitions. If you have problems compiling with errors that some types are not defined try opening xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/include/c_types.h and replace #if 0 near the top with #if 1.

Get esptool

Some projects use esptool, which is something completely different as esptool.py and which is not installed by esp-open-sdk. You can get esptool here:

or here:

Comments
  • after commit SDK 2.0.0 IoT Firmware won't to compile

    after commit SDK 2.0.0 IoT Firmware won't to compile

    Build error

    xtensa-lx106-elf-gcc -Os -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -ffunction-sections -fdata-sections  -DICACHE_FLASH -DDEVICE=0 -DSSL=0 -DBUILD=\"\"   -I include -I ./ -I ../include -I ../../include -I ../../include/eagle  -o .output/eagle/debug/obj/i2c_master.o -c i2c_master.c
    xtensa-lx106-elf-ar ru .output/eagle/debug/lib/libdriver.a .output/eagle/debug/obj/hw_timer.o .output/eagle/debug/obj/uart.o .output/eagle/debug/obj/gpio16.o .output/eagle/debug/obj/pwm.o .output/eagle/debug/obj/i2c_extention.o .output/eagle/debug/obj/spi.o .output/eagle/debug/obj/key.o .output/eagle/debug/obj/i2c_master.o 
    xtensa-lx106-elf-ar: creating .output/eagle/debug/lib/libdriver.a
    make[2]: Leaving directory '/home/chris/Dokumente/ESP8266/IoT Firmware/olimex/driver'
    xtensa-lx106-elf-gcc  -L../lib -nostdlib -T../ld/eagle.app.v6.new.1024.app1.ld -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--start-group -lc -lgcc -lhal -lphy -lpp -lnet80211 -llwip -lwpa -lmain -ljson -lupgrade -lssl -lsmartconfig -lcrypto user/.output/eagle/debug/lib/libuser.a driver/.output/eagle/debug/lib/libdriver.a user/modules/.output/eagle/debug/lib/libmod.a -Wl,--end-group -o .output/eagle/debug/image/eagle.app.v6.out 
    /opt/Espressif/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/bin/ld: .output/eagle/debug/image/eagle.app.v6.out section `.text' will not fit in region `iram1_0_seg'
    collect2: error: ld returned 1 exit status
    ../Makefile:371: recipe for target '.output/eagle/debug/image/eagle.app.v6.out' failed
    make[1]: *** [.output/eagle/debug/image/eagle.app.v6.out] Error 1
    make[1]: Leaving directory '/home/chris/Dokumente/ESP8266/IoT Firmware/olimex'
    Makefile:316: recipe for target '.subdirs' failed
    make: *** [.subdirs] Error 2
    

    maybe this belongs to changes in eagle.app.v6 ???

    _EDIT:_

    i have checked eagle.app.v6 files - found nothing special, so i think there is something with changed binary files

    opened by NMCity 8
  • IoT  Firmware Websocket

    IoT Firmware Websocket "freezes" on frame segmentation at TCP level

    Attached oliiot.tcpdump.zip is a tcpdump from web socket session to one of your devices. After the HTTP handshake a TCP packet is send with 6 bytes - the header of a websocket frame, then another TCP packet is sent with the playload. Your client fails to acknowledge this packets and then some re transmission happens and practically no communication happens. As TCP is stream oriented protocol it is perfectly posible to receive every byte in a message in separate TCP packet and this should not break your "server"

    opened by sdrsdr 7
  • ESP8266-EVB EMI noise

    ESP8266-EVB EMI noise

    I encountered some odd behaviour with the EVB. I mounted an http server on the ESP8266 ( javascript thanks to Espruino), and I tried to switch the relay state everytime a client connects to the server (thus, giving me a audible debug info). The case happened, where the ESP reseted by itself after the relay state changed. I experienced this many times. I think it may come from the electro-magnetic field created by the relay inductor, which may be important enough to cause electrical errors on the ESP side. Does anyone experienced the same behaviour?

    opened by yerpj 7
  • IoT Firmware: Default config settings after complete flashing

    IoT Firmware: Default config settings after complete flashing

    When ESP is complete flashed (also blank.bin and esp_init_data_default.bin) there is different configuration of softAP & station which is stored by ESP SDK than when you press long button and restore_defaults occurs.

    Is there a way to detect initial ESP settings in user_main to be overriden by restore_defaults (which works better) not only with long-button press?

    Best Regards

    opened by mikexmas 6
  • Togle mode for relay

    Togle mode for relay

    Hi, does it possible to have 3-th state for relay "toggle" , which should switch it "on" and after a while switch back to "off". The goal is to have "button" like behavior with only one HTTP request . Now it is possible with two separated requests.

    10x Boby

    enhancement question 
    opened by bobybc 6
  • it is possible to add webserver/websocket port config in web app

    it is possible to add webserver/websocket port config in web app

    It will usefull to add way to change default port from 80 to another one... Becuase host server/IoT server in some cases may use it for another app and board is not able to connect..

    opened by toome123 5
  • Tho functions move into flash instead of RAM

    Tho functions move into flash instead of RAM

    Is there any special reason to have following two fncs in RAM ? user_config.c/config_response user_webclient.c/webclient_host_check

    I stray of RAM iram1_0_seg since SDK 1.5.3.

    opened by mikexmas 4
  • reboot while esp8266 connect to the AP.

    reboot while esp8266 connect to the AP.

    WiFi Scan: 8 APs found. f r0, WiFi Scan: Event Raise. scandone f 0, WiFi Scan: Auto Detect... scandone state: 0 -> 2 (b0) station: 08:11:96:f7:04:d8 leave, AID = 1 rm 1 state: 2 -> 3 (0) state: 3 -> 5 (10) add 0 aid 2

    connected with MWIFI-9RS8, channel 11 dhcp client start... cnt ip:192.168.99.169,mask:255.255.255.0,gw:192.168.99.1 EVENTS: Station connected Fatal exception 29(StoreProhibitedCause): epc1=0x4020c03d, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000004, depc=0x00000000

    Here is the map

    4020c02c <webclient_new_request>: char *host, int port, char *path, char *headers, char *content ) { 4020c02c: c0c112 addi a1, a1, -64 4020c02f: f109 s32i.n a0, a1, 60 4020c031: e1c9 s32i.n a12, a1, 56 4020c033: d1d9 s32i.n a13, a1, 52 4020c035: c1e9 s32i.n a14, a1, 48 4020c037: b1f9 s32i.n a15, a1, 44 4020c039: 3179 s32i.n a7, a1, 12 4020c03b: 017d mov.n a7, a1 4020c03d: 1f29 s32i.n a2, a15, 4 } debug("WEBCLIENT: Requests count: %d\n", count);

    endif

    endif

    STAILQ_FOREACH(request, &webclient_requests, entries) {
    

    4020c03f: fe4f21 l32r a2, 4020b97c <crc16+0x34> char *host, int port, char *path, char *headers, char *content

    opened by Paulxia 3
  • Build error

    Build error

    /bin/sh: 2: xt-xcc: not found
    xt-xcc -Os -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -ffunction-sections -fdata-sections  -DICACHE_FLASH   -I include -I ./ -I ../ -I ../../include/ets -I ../include -I ./ -I ../../include/ets -I ../../include -I ../../../include -I ../../../include/eagle  -o .output/eagle/debug/obj/mod_emtr.o -c mod_emtr.c
    make[3]: xt-xcc: Command not found
    
    opened by donvercety 3
  • Compile, then error ;-(

    Compile, then error ;-(

    latyas@zypher:~/ESP8266-master/IoT Firmware$ make
    make[1]: Entering directory `/home/latyas/ESP8266-master/IoT Firmware/olimex'
    make[2]: Entering directory `/home/latyas/ESP8266-master/IoT Firmware/olimex/user'
    make[3]: Entering directory `/home/latyas/ESP8266-master/IoT Firmware/olimex/user/modules'
    xt-xcc -Os -g -O2 -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals  -DICACHE_FLASH   -I include -I ./ -I ../ -I ../../include/ets -I ../include -I ./ -I ../../include/ets -I ../../include -I ../../../include -I ../../../include/eagle  -o .output/eagle/debug/obj/mod_finger.o -c mod_finger.c
    mod_finger.c: In function 'void finger_buff_init(uint32, uint8, uint16)':
    mod_finger.c:17:65: error: 'pvPortZalloc' was not declared in this scope
       finger_buff = (finger_packet *)os_zalloc(sizeof(finger_packet));
                                                                     ^
    mod_finger.c:25:28: error: 'vPortFree' was not declared in this scope
       os_free(finger_buff->data);
                                ^
    mod_finger.c:31:25: error: 'pvPortZalloc' was not declared in this scope
       (uint8 *)os_zalloc(len)
                             ^
    In file included from mod_finger.c:2:0:
    mod_finger.c: In function 'void finger_send_buff()':
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:48:2: note: in expansion of macro 'debug'
      debug("\nFINGER: Sending packet...\n");
      ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:49:2: note: in expansion of macro 'debug'
      debug("Address: 0x%08x\n", finger_buff->address);
      ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:50:2: note: in expansion of macro 'debug'
      debug("PID: 0x%02x\n", finger_buff->pid);
      ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:51:2: note: in expansion of macro 'debug'
      debug("Len: 0x%04x\n", finger_buff->len);
      ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:52:2: note: in expansion of macro 'debug'
      debug("Data: ");
      ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:55:3: note: in expansion of macro 'debug'
       debug("0x%02x ", finger_buff->data[j]);
       ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:57:2: note: in expansion of macro 'debug'
      debug("\n\n");
      ^
    mod_finger.c: In function 'void finger_execute(uint32, uint8, uint8*, uint16)':
    mod_finger.c:85:45: error: 'ets_memcpy' was not declared in this scope
       os_memcpy(finger_buff->data + 1, data, len);
                                                 ^
    In file included from mod_finger.c:2:0:
    mod_finger.c: In function 'void finger_receive()':
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:97:3: note: in expansion of macro 'debug'
       debug("FINGER: Not initialized\n");
       ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:102:3: note: in expansion of macro 'debug'
       debug("FINGER: Address not match\n");
       ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:107:3: note: in expansion of macro 'debug'
       debug("FINGER: Checksum not match [0x%04x] [0x%04x]\n", finger_buff->check_sum, finger_check_sum());
       ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:114:2: note: in expansion of macro 'debug'
      debug("\nFINGER: Received packet\n");
      ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:115:2: note: in expansion of macro 'debug'
      debug("Address: 0x%08x\n", finger_buff->address);
      ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:116:2: note: in expansion of macro 'debug'
      debug("PID: 0x%02x\n", finger_buff->pid);
      ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:117:2: note: in expansion of macro 'debug'
      debug("Len: 0x%04x\n", finger_buff->len);
      ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:118:2: note: in expansion of macro 'debug'
      debug("Data: ");
      ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:121:3: note: in expansion of macro 'debug'
       debug("0x%02x ", finger_buff->data[i]);
       ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:123:2: note: in expansion of macro 'debug'
      debug("\n\n");
      ^
    mod_finger.c: In function 'void finger_char_in(char)':
    mod_finger.c:184:30: error: 'vPortFree' was not declared in this scope
         os_free(finger_buff->data);
                                  ^
    mod_finger.c:186:59: error: 'pvPortZalloc' was not declared in this scope
        finger_buff->data = (uint8 *)os_zalloc(finger_buff->len);
                                                               ^
    In file included from mod_finger.c:2:0:
    mod_finger.c: In function 'void finger_check()':
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:210:3: note: in expansion of macro 'debug'
       debug("FINGER: Device found\n");
       ^
    ../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
      os_printf_plus(flash_str, ##__VA_ARGS__); \
                                             ^
    ../stdout.h:4:16: note: in expansion of macro 'os_printf'
      #define debug os_printf
                    ^
    mod_finger.c:212:3: note: in expansion of macro 'debug'
       debug("FINGER: Device not found\n");
       ^
    mod_finger.c: In function 'void finger_init()':
    mod_finger.c:232:36: error: 'setTimeout' was not declared in this scope
      setTimeout(finger_check, NULL, 500);
                                        ^
    make[3]: *** [.output/eagle/debug/obj/mod_finger.o] Error 1
    make[3]: Leaving directory `/home/latyas/ESP8266-master/IoT Firmware/olimex/user/modules'
    make[2]: *** [.subdirs] Error 2
    make[2]: Leaving directory `/home/latyas/ESP8266-master/IoT Firmware/olimex/user'
    make[1]: *** [.subdirs] Error 2
    make[1]: Leaving directory `/home/latyas/ESP8266-master/IoT Firmware/olimex'
    make: *** [.subdirs] Error 2
    
    
    opened by ly0 3
  • Enhancement: Upgrade SDK to 1.5.1 (16.1.2016) (IoT Firmware)

    Enhancement: Upgrade SDK to 1.5.1 (16.1.2016) (IoT Firmware)

    I noticed some troubles working with softAP; to connect my comp to softAP: connected and immediately disconnected. station: 00:27:10:81:40:f4 join, AID = 1 station: 00:27:10:81:40:f4 leave, AID = 1 rm 1 add 1 aid 1 station: 00:27:10:81:40:f4 join, AID = 1 station: 00:27:10:81:40:f4 leave, AID = 1 rm 1 add 1 aid 1 station: 00:27:10:81:40:f4 join, AID = 1 station: 00:27:10:81:40:f4 leave, AID = 1 rm 1 etc.....

    I upgraded to new SDK and it may be much better. Just copied SDK files to working folder, except "makefile".

    opened by mikexmas 2
  • HTML page it's not show in web Server

    HTML page it's not show in web Server

    Hi, i have a simple problem but to me it's being so dificulty to resolve. It's start recently, i've nerver had tbis problema before, when I connect in NODEMCU web Server in my web (192.168.0.114, for example), the page that i've created in program doesn't show, follow the code bellow:

    Note: The download was a succes and I already updated de NODEMCU firmware

    `#include <ESP8266WiFi.h>

    const char* ssid = "ssid"; const char* password = "password";

    WiFiServer server(80);

    void setup() { Serial.begin(115200); delay(10);

          Serial.print("Connecting to ");
          Serial.println(ssid);
    
          WiFi.begin(ssid, password);
    
          while (WiFi.status() != WL_CONNECTED) 
          {
              delay(500);
              Serial.print(".");
          }
    
           Serial.println("");
           Serial.println("WiFi connected");
    
           server.begin();
           Serial.println("Server started");
           Serial.println(WiFi.localIP());
    

    }

    void loop() { WiFiClient client = server.available(); if (!client) { return; }

        Serial.println("new client");
        while(!client.available())
        {
             delay(1);
        }
    

    String req = client.readStringUntil('\r'); Serial.println(req); client.flush();

    String buf = "";

    buf += "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\r\n"; buf += "<html lang="en"><meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>\r\n"; buf += "ESP8266 Web Server"; buf += ""; buf += ""; buf += "

    ESP8266 Web Server - System Logs

    "; buf += " \n";

    client.print(buf); client.flush();

    Serial.println("Client disonnected"); }`

    opened by LucasMazur 0
  • Conection betwen ESPs

    Conection betwen ESPs

    I'd like to connect two ESPs, one of their is the Access point, the other is the client. In the access point a have an out, his ip is the default of esp (192.168.4.1), i need with the client esp send an url like 192.168.4.1/led_on to turns the led on. I tried something but doesn't work. Someone could help me ?

    opened by LucasMazur 0
  • MQTT example must be updated with changes to PubSubClient

    MQTT example must be updated with changes to PubSubClient

    In ESP8266/Arduino IDE/Relay-Control-MQTT/firmware/relay-mqtt.ino there were changes to PubSubClient and especially constructor etc. Please find attached updated INO file.

    Regards. relay-mqtt.ino.txt

    opened by erkobg 1
Owner
OLIMEX LTD BULGARIA
OLIMEX LTD BULGARIA
Examples of how to connect various Arduino boards to cloud providers.

Arduino Cloud Provider Examples Examples of how to connect various Arduino boards to cloud providers. Related tutorials on Arduino Project Hub: AWS: S

Arduino 61 Nov 8, 2022
Arduino, esp32 and esp8266 library for ABB (ex PowerOne) Aurora Inverter, implement a full methods to retrieve data from the Inverter via RS-485

ABB Aurora protocol You can refer the complete documentation on my site ABB Aurora PV inverter library for Arduino, esp8266 and esp32 I create this li

Renzo Mischianti 22 Nov 22, 2022
Arduino library for sending email and SMS from nothing but the ESP8266!

Did you know your ESP8266 could send Email and SMS without any special hardware or paid services like Twilio? With AlertMe, your ESP8266 project can:

Lixie Labs 61 Feb 24, 2022
A library to simplify the process of getting and storing data to Antares IoT Platform through HTTP on ESP8266.

Antares ESP8266 HTTP This is the documentation for Antares ESP8266 library. This library is meant to simplify the process of retrieving and deploying

null 6 Jul 2, 2021
A library to simplify the process of subscribing and publishing data to Antares IoT Platform through MQTT on ESP8266.

Antares ESP8266 MQTT A Library to simplify the process of MQTT publication and subscription to Antares IoT Platform using ESP8266. This library works

null 6 Mar 9, 2022
Library for ESP32 and ESP8266 to work with the Fernando K app

App Fernando K This library is meant to work with the Fernando K app https://play.google.com/store/apps/details?id=com.appfernandok https://apps.apple

null 0 Aug 5, 2020
The Approximate Library is a WiFi Arduino library for building proximate interactions between your Internet of Things and the ESP8266 or ESP32

The Approximate Library The Approximate library is a WiFi Arduino Library for building proximate interactions between your Internet of Things and the

David Chatting 102 Dec 7, 2022
A library for writing modern websockets applications with Arduino (ESP8266 and ESP32)

Arduino Websockets A library for writing modern websockets applications with Arduino (see prerequisites for supported platforms). This project is base

Gil Maimon 342 Dec 26, 2022
Simple web interface builder for esp8266 and ESP32

GyverPortal Простой конструктор веб интерфейса для esp8266 и ESP32 Простой конструктор - делаем страницы без знаний HTML и CSS Библиотека является обё

Alex 199 Jan 8, 2023
Anto client library for ESP8266-Arduino

Anto client library for ESP8266-Arduino ESP8266-AntoIO provides common and easy way to connect your ESP8266 to Anto.io IoT platform service. Stable ve

Anto.io Internet of Things platform 10 Dec 1, 2021
Connecting an ESP8266 to a Google Calendar service to turn an useless "On Air" sign into a smart meeting indicator

ESP8266-GoogleCalendar Intro I had an useless "On Air" sign hanging around my home, and I thought it would be cool to connect it to my Google Calendar

3D Fix It 2 Jan 20, 2022
Library for auto Light Emitting Diode (LED) control based on the timer function of the ESP8266

Library for auto Light Emitting Diode (LED) control based on the timer function of the ESP8266. The purpose is to have LED running for their own without the need to to such things like blinking on your own.

Dirk Ohme 1 Jan 18, 2022
ESP8266 MQTT Sharp-fu-y30 air purifier controller

ESP8266 MQTT Sharp-fu-y30 air purifier controller Disclaimer Note: if you decide to do those changes to your air purifier, you take all the responsibi

xis 2 Dec 6, 2022
ESP32-S2 and CC1101S 433Mhz usb stick to record and send car gates/garages data keys and open stuff

HackZeGarage ESP32-S2 and CC1101S 433Mhz usb stick to record and send car gates/garages data keys and open stuff **HackZeGarage @sulfuroid / Dr CADIC

Dr PhilMorph 5 Mar 16, 2022
Easily and asynchronously interact with a serial device requiring call-and-response style commands.

Arduino Managed Serial Device Note This library was formerly less-descriptively named "Arduino Async Duplex" This library allows you to asynchronously

Adam Coddington 20 Nov 20, 2022
Easily and asynchronously interact with a serial device requiring call-and-response style commands.

Arduino Managed Serial Device Note This library was formerly less-descriptively named "Arduino Async Duplex" This library allows you to asynchronously

Adam Coddington 20 Nov 20, 2022
A simple two-axis gimbal built using two servo motors, an mpu6050 gyro and accelerometer sensor, and an Arduino (Uno)

Makeshift Gimbal Project A simple two-axis gimbal built using two servo motors, an mpu6050 gyro and accelerometer sensor, and an Arduino (Uno). A shor

Sukritee Sharma 2 Jun 17, 2022
Arduino library for interfacing with any GPS, GLONASS, Galileo or GNSS module and interpreting its NMEA messages.

107-Arduino-NMEA-Parser Arduino library for interfacing with any GPS, GLONASS, Galileo or GNSS module and interpreting its NMEA messages. This library

107-Systems 15 Jan 1, 2023
CAN Driver for Teensy 3.1 / 3.2, 3.5 and 3.6

CAN Library for Teensy 3.1 / 3.2, 3.5, 3.6 Compatibility with the ACANxxxx libraries This library is fully compatible with the MCP2515 CAN Controller

Pierre Molinaro 10 Dec 9, 2022