Code Monkey home page Code Monkey logo

esp_wifi_repeater's People

Contributors

bchabrier avatar bilach avatar c4l1c0 avatar christianchristensen avatar crankyoldgit avatar gordoste avatar gustavovelascoh avatar jason-cooke avatar jcea avatar lrmoreno007 avatar martin-ger avatar mirko12 avatar nathanjphillips avatar pucebaboon avatar robnewton avatar seigel avatar smartchild2018 avatar ss18 avatar xxxajk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp_wifi_repeater's Issues

No AP after flashing

I flashed two .bin files using esptool.py. But there is no AP after flashing, serial monitor shows gibberish texts and symbols and it dosen't accepts any command. I'm using the latest SDK

Hide ESP SSID

Dear MR martin,

Just wanted to say thanks for the time and effort you have invested in writing this code and the documentation which goes with it!!!
Everything is crystal clear even for a newbie like me and although i failed to install it using the predefined bin i have followed your remarks for the ESP01 issue and using the other bins which worked just fine (i am not using ESP01 but ESP12E with a 512KB flash memory but i guess this is reason for failure).

I also wanted to ask if it possible to hide the ESP SSID from the outside world as a basic security measure as i am extending my network coverage using your wonderful work i do not want people to scan my network and try to hack it.

Thanks again and god bless you!

Select Phy Mode ?

Wondering if its possible to select which phy mode the repeater is in ?

New firmare with MQTT V 3.1.1

In the branch ESP uMQTT Broker could you upgrade the pre-compiled firmware so it supports MQTT protocol version v3.1.1?

The ESP MQTT client libraries now all support the version 3.1.1 and it isn't easy or it's impossible to use the V 3.1

Thank you

Long list of APs not showing right

I have lots of APs around my area, so, whenever I scan APs around using Telnet, the first APs aren't showing up correctly. Please look at the screenshot (I erased the Mac Addresses for security reasons).

esp_scan

Web Interface

Would love to see it with a web interface instead of the console. libesphttpd should be a good option to implement that. Adding the server structure shouldn't be a big deal. For me a problem would be the page design and the JS-part. I am really not into that. Anybody willing and able to support this?

Can not access ESP-Repeater connected nodes!

I'm extending my main access point using ESP-Repeater, I have a Domoticz server installed on main access point and I have an ESP node connected to ESP-Repeater. The access point IP is 192.168.1.1 and the ESP-Repeater IP is 192.168.4.1 and the ESP node IP is 192.168.4.122 However I can't open 192.168.4.122 url when I'm connected to main access point which is 192.168.1.1 I tried static routing but still I have no success.

voltage monitoring

would you be able to impliment battery monitoring so it could deep sleep if the battery gets low and power up when the battery has charge?

Limit speed?

Hi, any chance to be able limit the transmission speed?

(Building the new house and not having time, yet, to the web interface, sorry)
Thanks

How to flash into ESP8266

Hi guys, I am very new to use this kind of thing here. Sorry for that, as I have read all of your md file. I found it is interesting for me to use your project. But what I don't understand is that how to upload your project into ESP8266 model. I use Windows OS. Do I need to compile all the project?. What I have done is download those 2 bin files 0x00000 and 0x10000 and input them into Download tool V.3.44 and set parameters according to your sample. But the error log said

EFUSE NORMAL MODE

EFUSE CHECK PASS...
48bit mac
debug:

5c cf 7f f0 2c ca
CUSTOM_ID: 06 40 00 00 00 09 40 00
CUSTOM_ID: 0640000000094000

crc_efuse_4bit: 0
crc_calc_4bit: 14
48bit mac
MAC AP : 5E-CF-7F-F0-2C-CA
MAC STA: 5C-CF-7F-F0-2C-CA
get mac res: True
('tttest uuuuuuuuuuart : uart reg: ', 458)
(' baudrate: ', 115200)
get crystal: 26380800
get flash id : 0xff1640e0
manufacturer_id: 0xe0

device_id: 0x4016

vendor: 224
mode: 64
size: 22
DEBUG!!!!
SET FLASH PARAMS
filename: D:\Users\Peth\Desktop\FLASH_DOWNLOAD_TOOLS_V3.4.4\bin_tmp\downloadPanel1\0x00000.bin_rep
offset : 0
filename: D:\Users\Peth\Desktop\FLASH_DOWNLOAD_TOOLS_V3.4.4\bin_tmp\downloadPanel1\0x10000.bin
offset : 65536
Erasing flash in old style...


pic path: ./RESOURCE/DOWNLOAD_S.bmp


Traceback (most recent call last):
File "download_panel_info.pyo", line 539, in update_pic
AttributeError: ESPDOWNLOAD instance has no attribute 'ESP_MAC_BT'
Took 0.47s to erase flash block
Erasing flash in old style...
Took 1.92s to erase flash block
TEST !!!!
FAST BAUD: 230400
fACTORY REBOOT MODE: False
Running Cesanta flasher (speed 230400)...
params: ��
MEMORY START
ELSE.... 26
Invalid head of packet ('')
Exception in thread Thread-2:
Traceback (most recent call last):
File "threading.pyo", line 801, in __bootstrap_inner
File "download_panel_info.pyo", line 785, in run
File "esptool_api.pyo", line 763, in flash_download_thread
File "esptool_api.pyo", line 1761, in init
File "esptool_api.pyo", line 1646, in read_packet
Exception: Invalid head of packet ('')

Could you please figure me out. Thanks

error when building with LWIP_DEBUG

tried to enable LWIP debug by editing esp-open-lwip/include/lwipopts.h
#define LWIP_DEBUG 1

and running
make -f Makefile.open clean

and recompile in esp-open-sdk
make STANDALONE=y
when I try to build esp_wifi_repeater (or any other projects) I get this error:

/home/stoffer/esp8266/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/lib/liblwip_open.a(dhcp.o): In function `dhcp_set_state':
dhcp.c:(.irom0.text+0x30): undefined reference to `ETS_ASSERT'
/home/stoffer/esp8266/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/lib/liblwip_open.a(dhcp.o): In function `dhcp_option_short':
dhcp.c:(.irom0.text+0x62): undefined reference to `ETS_ASSERT'
/home/stoffer/esp8266/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/lib/liblwip_open.a(dhcp.o): In function `dhcp_option':
dhcp.c:(.irom0.text+0xf3): undefined reference to `ETS_ASSERT'
/home/stoffer/esp8266/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/lib/liblwip_open.a(dhcp.o): In function `dhcp_option_byte':
dhcp.c:(.irom0.text+0x17b): undefined reference to `ETS_ASSERT'
dhcp.c:(.irom0.text+0x1ce): undefined reference to `ETS_ASSERT'
/home/stoffer/esp8266/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/lib/liblwip_open.a(dhcp.o):dhcp.c:(.irom0.text+0x1df): more undefined references to `ETS_ASSERT' follow
/home/stoffer/esp8266/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/lib/liblwip_open.a(espconn_tcp.o): In function `espconn_server_recv':
espconn_tcp.c:(.irom0.text+0x6e4): undefined reference to `lwip_strerr'
espconn_tcp.c:(.irom0.text+0x813): undefined reference to `lwip_strerr'
/home/stoffer/esp8266/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/lib/liblwip_open.a(espconn_tcp.o): In function `espconn_find_current_pcb':
espconn_tcp.c:(.irom0.text+0xd22): undefined reference to `ETS_ASSERT'
espconn_tcp.c:(.irom0.text+0xd3a): undefined reference to `ETS_ASSERT'
/home/stoffer/esp8266/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/lib/liblwip_open.a(raw.o): In function `raw_sendto':
raw.c:(.irom0.text+0x12e): undefined reference to `ETS_ASSERT'
/home/stoffer/esp8266/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/lib/liblwip_open.a(tcp_in.o): In function `tcp_receive':
tcp_in.c:(.irom0.text+0x4ce): undefined reference to `ETS_ASSERT'
tcp_in.c:(.irom0.text+0x556): undefined reference to `ETS_ASSERT'
/home/stoffer/esp8266/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/lib/liblwip_open.a(tcp_in.o):tcp_in.c:(.irom0.text+0x65e): more undefined references to `ETS_ASSERT' follow
collect2: error: ld returned 1 exit status
Makefile:249: recipe for target 'build/app.out' failed
make: *** [build/app.out] Error 1

any inputs on this?

Random Flickering Blue Light

Hi,
I did everything as per the steps mentioned. Here is my user_config.h file. When I flash the firmware and reboot the esp, the ESP blue LED flickers rapidly. When I connect to Arduino IDE serial 115200 baud, I get gibberish dump. What am I doing wrong?

#ifndef USER_CONFIG
#define USER_CONFIG

typedef enum {SIG_DO_NOTHING=0, SIG_START_SERVER=1, SIG_SEND_DATA, SIG_UART0, SIG_CONSOLE_RX, SIG_CONSOLE_TX, SIG_PACKET } USER_SIGNALS;

#define WIFI_SSID "MyWiFiSSID"
#define WIFI_PASSWORD "MyWiFiPassword"

#define WIFI_AP_SSID "RangeExtenderAP"
#define WIFI_AP_PASSWORD "none"

#define MAX_CLIENTS 8
#define MAX_DHCP 8

//
// Size of the console buffers
//
#define MAX_CON_SEND_SIZE 1024
#define MAX_CON_CMD_SIZE 80

//
// Define this if you have a status LED connected to GPIO LED_NO
//
#define STATUS_LED 1
#define LED_NO 2

// Select the GPIO init function according to your selected GPIO
//#define SET_LED_GPIO PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1)
#define SET_LED_GPIO PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2)
//#define SET_LED_GPIO PIN_FUNC_SELECT (PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO4)

//
// Define this to support the "scan" command for AP search
//
#define ALLOW_SCANNING 1

//
// Define this to support the "sleep" command for power management and deep sleep
// Requires a connection of GPIO16 and RST (probably not availabe on ESP01 modules)
//
#define ALLOW_SLEEP 1

//
// Define this if you want to have access to the config console via TCP.
// Ohterwise only local access via serial is possible
//
#define REMOTE_CONFIG 1
#define CONSOLE_SERVER_PORT 7777

//
// Define this if you want to offer monitoring access to all transmitted data between the soft AP and all STAs.
// Packets are mirrored in pcap format to the given port.
// CAUTION: this might be a privacy issue!!!
//
#define REMOTE_MONITORING 1

#define MONITOR_BUFFER_SIZE 0x3c00

// Define this if you want to cut packets short in case of too high data rate
#define MONITOR_BUFFER_TIGHT 0x1000

// Define this if you want to silently drop any packet that cannot be send to the monitor
//#define DROP_PACKET_IF_NOT_RECORDED 1

#endif

Feature request - custom DNS servers

An option to set custom DNS servers for services such as OpenDNS would be ideal. I’m trying to use my nodemcu as an access point for guests and being able to restrict certain bandwidth-hogging websites using OpenDNS would be great!

Backspace

Hi,
In CMD>When writing a command, if we use the backspace, it gives "Invalid command".

OTA update

Perfect job! Absolutely the best esp8266 WiFi NAT Router!

Is it possible to update it by OTA update? It will be great if yes, because in my case for expamle, I will assembly my box with esp8266 to the wall in garage and standard way is very complicated.

I can image for expamle this solution HTTP Server.

Thank you very much.

new firmware MQTT3.1.1 can't PUBLISH or SUBSCRIBE ?

Previous firmware I can connect PUBLISH or SUBSCRIBE to uMQTT on my esp8266.
but the new firmware I can't.

I have tried by "mosquitto_pub" and "mosquitto_sub" ,
MQTT Broker can't connect as the following information.


mosquitto_pub -h 192.168.43.200 -p 1883 -t /home/room01 -m 13
Connection Refused: unacceptable protocol version.
Error: The connection was refused.


mosquitto_sub -h 192.168.43.200 -p 1883 -t # -v
Connection Refused: unacceptable protocol version.
Connection Refused: unacceptable protocol version.
Connection Refused: unacceptable protocol version.
Connection Refused: unacceptable protocol version.
....
....


How to connect MQTT Broker on the new firmware?
Thank you.

BTW.
I set ESP8266 with new firmware by the following and reboot ESP8266 already

set ip 192.168.43.200
set gw 192.168.43.1
set netmask 255.255.255.0

Unable to call xtensa-lx106-elf-readelf

Hello there, I followed the instructions to build, and when I make the final repeater bin, its gives me the error:

Error calling xtensa-lx106-elf-readelf, do you have Xtensa toolchain in PATH?
Makefile:117: recipe for target 'firmware/0x00000.bin' failed
make: *** [firmware/0x00000.bin] Error 1

I made sure to change my BUILD_AREA to where the esp-open-sdk is

Here is the real path: /media/me/SD/Python/Wifi/repeater/esp-open-sdk/xtensa-lx106-elf

I attached a text version of the make file:

I verified that the xtensa-lx106-elf-readelf file exists, but I do not know why it cannot find it

makefile.txt

Max Stations

I suggest you to let the user configure the maximum number of stations using telnet and also the option to set the ESP to work at 160 MHz. Would also be great to see it working on Wemos D1 Mini with battery shield. With my tests, I got 10 Mbps on the ESP-01. Congratulations for this amazing firmware.

esp_uMQTT_broke: MQTT Invalid protocol

Hi,
When I try use with the MQTT Lens application is gives the message "MQTT: Invalid protocol".
Is just compile, upload, and create a client connection, yes?

Wifi to GSM

Is it possible to use this as a 4G router by connecting a GSM module to UART and setting up 8266 as AP?
The routing would be done by 8266.

Unable to send pkts (ping) bigger than 1380 bits (or 1372Bytes?)

Hello! I absolutely love your project. It's helping me to get on the school wifi cuz it's crappy and always full, but this is automatically retrying to connect and it always connects! 👍
But i don't know why i can't send through pkts larger than 1372bits or bytes idk. I've got an NodeMCU v3 (ESP8266 ESP12E). I've set things up like this: CPU Speed: 160MHz; up/downstream: 0 (= unlimited).
Anyone knows why?

uMQTT 192.168.4.1

Hi
I'm making new tests, but I have fond an issue
The ESP MQTT client is able to connect to the ESP with uMQTT only using the Station IP not the AP 192.168.4.1
There is the TCP connection, but the MQTT connection doesn't start

I have tried with 2 different libraries for ESP MQTT client
I'm using this test code

LED fast blink

I uploaded your binaries to my Nodemcu v1.0 (It has ESP-12E). after successful uploading, I restarted my device by removing and inserting the cable back. The LED on ESP blinked very fast.

I read in previously closed issues that the esp is rebooting but it had a solution for Wemos shield.

I am using Debian 8 Jessie and I tried your binary to install from Windows machine too, but the result was same.

My device:- http://www.ebay.in/itm/121994957963?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

LoRa ?

Hi Martin,
I've tried your repeater mod and it works very well. Now I'm wondering if this could be extended to really great distances with two esp8266 connected to LoRa modules (eg. SX127x based ones or similar SPI bus based LoRa devices). That would be truly amazing!

question ssid and or feature

Hi iam new to all this.. but you did a fine tutorial and work:)

I have two questions.
Is it possible if you set ssid to ad a space in middler of the ssid ? What happens now is ( set ssid my wifi ) for example, after save and reset it only tries to connect to "my" instead of "my wifi " cant find no solution so far on the web, or is this impossible ?

Other question more a feature: Wpa Enterprise with WPA/WPA2, EAP-PEAP, MSCHAPV2, for networks with and without certificate and user name and password? Would be neat but think a little difficult.

Keep up the good stuff

thx

web login

Is it possible to web login on the existing network ?

wifi repeater is not working after upgrade

Hi,

I am using ESP12E with 512kb of memory.
I have installed successfully the previous version from last week and it was working amazingly but since i have installed the new version from the last days over the older version to check the new SSID_HIDDEN feature the wifi repeater is not working any more.
The "bpllblrl▒r▒n▒b▒nbp" string apears upon reboot but the CMD is not responsive hence cannot be configured or used.

  • I am using the files in the older SDK directory using the 0x00000 and 0x40000 address as before
  • There's no power issue here.
  • Any example from the arduino examples is uploaded safely and working just fine.
  • i have used the esptool.py -p com7 -b 115200 erase_flash to try and clean the flash but it is not working.
  • I have used blank.bin (512kb) over 0x00000 and 0x10000 and 0x40000 to try and clean the flash but it is still not working not working.

Any word of advise??

Thanks in advance.

Help Installing

Hi,
I'm trying to compile your code but having problems. Are you compiling with Windows ou Linux?

I follow the instrutions in https://github.com/pfalcon/esp-open-sdk , and build the blinky example with sucess (after added -lc in LDLIBS)

When you said

Drop the esp-open-lwip into the esp-open-sdk, i.e. copy it into the build tree, and build the esp-open-sdk

you mean:

  • rename the original esp-open-lwip directory to other name
  • execute git clone https://github.com/martin-ger/esp_wifi_repeater.git in esp-open-sdk directory
  • and execute "make rebuild"?

Thanks,
Ribeiro Santos

Repeater Stops Working after Awhile

I've noticed after some time the repeater stopes working and clients can't send data through.

Admittedly I haven't updated the Repeaters software in some time so I'll give that a try soon.

Just wondering if anyone else has had this problem ?

Will try to diagnose the actuall problem soon. Just a open question. Don't know what's really going on with this issue. But I do know a simple power off and on fixes the issue :P. Thinking maybe adding a restart at midnight or some time specified could be nice to have as a last resort thing ?

Sorry for the non help full information.

Forward port from broadcast IP UDP

I want to forward port from broadcast IP UDP.
Ex: 255.255.255.255:12345 -> 10.0.1.2:12346
May you tell me how to do it. Because I want to find IP device by UDP broadcast and esp wifi repeater.
Tks very much Martin-Ger!

How to use as a MQTT-Client mode?

In file "user_config.h" I set

#define MQTT_CLIENT 1

After recompiled and flashing rom,
my esp8266 connected to host is address 192.168.43.50
and I set mqtt client mode as the following command

set mqtt_host 192.168.43.10 //* another MQTT Broker
set mqtt_port 1883
set mqtt_id esp8266_mqtt0000123
set mqtt_interval 5

However on another MQTT Broker (192.168.43.10)
I can't to recieve any information by mqtt-client mode.

How to use mqtt-client mode on the rom?
Thank you.

Error after entering 'make'

I'm getting this error when I run make command
Makefile:181: warning: overriding recipe for target 'ESP8266_NONOS_SDK_V2.0.0_16_08_10/.dir' Makefile:176: warning: ignoring old recipe for target 'ESP8266_NONOS_SDK_V2.0.0_16_08_10/.dir' make -C crosstool-NG -f ../Makefile _ct-ng make[1]: Entering directory '/opt/esp-open-sdk/crosstool-NG' ../Makefile:181: warning: overriding recipe for target 'ESP8266_NONOS_SDK_V2.0.0_16_08_10/.dir' ../Makefile:176: warning: ignoring old recipe for target 'ESP8266_NONOS_SDK_V2.0.0_16_08_10/.dir' ./bootstrap Running autoconf... ./bootstrap: 5: ./bootstrap: autoconf: not found ../Makefile:143: recipe for target '_ct-ng' failed make[1]: *** [_ct-ng] Error 127 make[1]: Leaving directory '/opt/esp-open-sdk/crosstool-NG' Makefile:140: recipe for target 'crosstool-NG/ct-ng' failed make: *** [crosstool-NG/ct-ng] Error 2
I'm using Rpi3

Port Forwarding ?

Wondering if its possible to configure port forwarding?
( My router doesn't allow me to add routes... so kinda need this if i want to connect to a device on this extended wifi network)

Compile with esp-open-RTOS, any help?

Hi, I'd like to compile with esp-open-rtos but don't know were to star. Compiling it reports many errors so it shouldn't be easy, at least, to me. Any help were to star?

Thanks

Feature request

First, THANK YOU!
Works like a charm...

But...

  1. Is it possible to module save more than one SSID/PASS (and connect to stronger signal automatically)?
  2. led pwm [0..255] (it´s very strong at night in bedroom)

Adrian

Unable to connect

Hello

I’m unable to connect to the ESP after I configured everything with telenet. The ESP is visible on the router it’s connecting too and I can connect to the ESP from ththe router wifi but when I try to connect to the ESP ap it gives me a error saying “unable to connect”

Multiple devices P2P

Hi,
I have a question about capability of the system.
For example; can I connect 1000 devices one by one to repeat the internet to long range?
modem-->esp0-->esp1-->2-->3-->4-->5-->6-->...........1000-->user
Can user have internet connection even if it is very slow?
BR

It is possible to filter/change requests?

Hi,
As far I understand, all client comunications goes by the repeater (this case the esp8266), right?
My question is if it is possible, to change or filter some requests.

By example, a client A sends a message to the esp (the repeater) if the message has some predefined format, it musts be send to all other clients, and changes the response to let client A knows, his message, was well received. It is possible? Or at least in http requests?

My goal is to do a kind of MQTT Broker, which seems possible looking at your great code. Maybe not to handle 1000 clients but if may handle 8, I will be very happy :)

Thanks a lot,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.