djsb / canny

Canny is a ESP8266 bridge replacement for Milight, Easybulb, Limitless and futlight clones using Muzzley
MIT License
27 stars 5 forks source link

Exact library versions? #2

Open lordbbk opened 6 years ago

lordbbk commented 6 years ago

Dear @djsb,

Could you please share the exact versions of the libraries you managed to compile the code against?

I have encountered several compile issues probably because of updated, incompatible libraries.

e.g.

Verifying...
sketch/ESP8266SSDP.cpp: In member function 'void SSDPClass::_send(ssdp_method_t)':
ESP8266SSDP.cpp:187: error: conversion from 'IPAddress' to non-scalar type 'ip_addr_t {aka ip4_addr}' requested
   ip_addr_t ip = WiFi.localIP();
                               ^
In file included from [...]/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.1/tools/sdk/lwip2/include/lwip/ip_addr.h:43:0,
                 from [...]/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.1/tools/sdk/include/user_interface.h:30,
                 from sketch/ESP8266SSDP.cpp:16:
sketch/ESP8266SSDP.cpp: In member function 'void SSDPClass::schema(WiFiClient)':
[...]/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.1/tools/sdk/lwip2/include/lwip/ip4_addr.h:199:54: error: request for member 'addr' in 'ip', which is of non-class type 'uint32_t {aka unsigned int}'
 #define ip4_addr1(ipaddr) (((const u8_t*)(&(ipaddr)->addr))[0])

Thanks in advance for your support!

lordbbk commented 6 years ago

Dear @green-ex,

I've spent a few hours to resolve all the issues but since this library was using so now outdated libraries it did not worth the effort to do the whole reverse engineering stuff without knowing the whole thing.

So I have simply found another solution that fit my needs: esp8266_milight_hub by Christopher Mullins' blog.

Installed like this:

esptool.py --chip esp8266 --port /dev/tty.wchusbserial1d10 --baud 115200 --after hard_reset write_flash --flash_freq 40m --flash_mode dio 0x00000 esp8266_milight_hub_nodemcuv2-1.8.0-dev1.bin

If you are just testing with unsoldered wires and it seems that does not work then simply replace the wires. I've replaced an esp8266 because of this and it turned out that only the wires were not so good for the rf communication :-)

Good luck!

regexstrings commented 5 years ago

So we never figured a workaround if we're using an up-to-date Arduino environment? I liked this once since it had all the code rather than a pre-compiled binary. Might have to load the bin. If you know how we could compile this sketch, please let us know!