Coder Social home page Coder Social logo

blynkkk / blynk-library Goto Github PK

View Code? Open in Web Editor NEW
3.8K 243.0 1.4K 9.8 MB

Blynk library for IoT boards. Works with Arduino, ESP32, ESP8266, Raspberry Pi, Particle, ARM Mbed, etc.

Home Page: https://blynk.io

License: MIT License

C++ 69.90% C 12.81% Python 11.54% Shell 1.38% Makefile 0.73% Batchfile 0.46% Java 3.12% CMake 0.06%
arduino esp8266 esp32 particle-photon embedded hardware mbed raspberry-pi bluetooth bluetooth-low-energy

blynk-library's Introduction

SWUbanner

Blynk C++ Library Tweet

GitHub version GitHub download GitHub stars GitHub issues Build Status License

If you like Blynk - give it a star, or fork it and contribute! GitHub stars GitHub forks


Blynk is a unique IoT platform for connecting any hardware to the cloud, designing apps to control them, and managing your deployed products at scale.

  • With Blynk Library you can connect over 400 hardware models (including ESP8266, ESP32, NodeMCU, all Arduinos, Raspberry Pi, Particle, Texas Instruments, etc.) to the Blynk Cloud.

  • With Blynk apps for iOS and Android apps you can easily drag-n-drop graphic interfaces for any DIY or commercial project. It's a pure WYSIWG experience: no coding on iOS or Android required.

  • Hardware can connect to Blynk Cloud over the Internet using hardware connectivity available on your board (like ESP32), or with the use of various shields (Ethernet, WiFi, GSM, LTE, etc). Blynk Cloud is available for every user of Blynk for free.

Blynk Banner

Downloads

Blynk Arduino Library

Blynk Mobile App: Google Play | App Store

Quickstart: Arduino + Ethernet shield

  • Download the Blynk app (App Store, Google Play)
  • Get the Auth Token from the app
  • Import this library to Arduino IDE. Guide here
  • In Arduino IDE, select File -> Examples -> Blynk -> Boards_Ethernet -> Arduino_Ethernet
  • Update Auth Token in the sketch and upload it to Arduino
  • Connect your Arduino with Ethernet shield to the internet

When you are connected - check the included examples on how to use different types of connections (transports) and explore Blynk features. You can combine any example for your hardware + transport + features.

Documentation and other helpful links

The list of supported hardware - supported boards, Ethernet, WiFi, Cellular...
Full Blynk Documentation - a complete guide on Blynk features
Community (Forum) - join a 500,000 Blynk community to ask questions and share ideas
Code Examples Browser - browse examples to explore Blynk possibilities
Official Website

Social Media:

Facebook | Twitter | Youtube | Instagram | LinkedIn

Blynk libraries for other platforms

Libraries by community

Contributing

We accept contributions from our community: stability bugfixes, new hardware support, or any other improvements.
Here is a list of what you could help with.

License

This project is released under The MIT License (MIT)

blynk-library's People

Contributors

ansonhe97 avatar apokrovskyi avatar blynkkk avatar cffiebigc avatar che77 avatar clueprints avatar doom369 avatar ekkai avatar federicobusero avatar gaff avatar gfvalvo avatar ivankravets avatar jansurft avatar jpasqua avatar kamilosxd678 avatar karlp avatar laxgoaltender avatar markusengsner avatar mcspr avatar mlxxxp avatar noor-latif avatar pasxa avatar pilnytomas avatar refenz avatar rocketct avatar scropion86 avatar sysoleg avatar vshymanskyy avatar wakwak-koba 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

blynk-library's Issues

Connecting loop with latest beta from github (v0.3.2-beta) on ESP8266

I got connecting loop every ~4sec on latest 0.3.2-beta from github on ESP8266

log from ESP8266_Standalone example:

[2228] Connected to WiFi
[2228] My IP: 192.168.0.116
[2228] Blynk v0.3.2-beta
[5001] Connecting to cloud.blynk.cc:8442
[6007] Ready (ping: 0ms).
[11383] Connecting to cloud.blynk.cc:8442
[12231] Ready (ping: 0ms).
[17608] Connecting to cloud.blynk.cc:8442
[18356] Ready (ping: 1ms).
[23734] Connecting to cloud.blynk.cc:8442
[23994] Ready (ping: 0ms).
[29122] Connecting to cloud.blynk.cc:8442
[29377] Ready (ping: 2ms).
[34504] Connecting to cloud.blynk.cc:8442
[34762] Ready (ping: 0ms).
[39889] Connecting to cloud.blynk.cc:8442
[40143] Ready (ping: 0ms).
[45269] Connecting to cloud.blynk.cc:8442
[45522] Ready (ping: 1ms).
[50647] Connecting to cloud.blynk.cc:8442
[50905] Ready (ping: 0ms).
[56032] Connecting to cloud.blynk.cc:8442
[56287] Ready (ping: 1ms).
[61413] Connecting to cloud.blynk.cc:8442
[61671] Ready (ping: 1ms).
[66808] Connecting to cloud.blynk.cc:8442
[67062] Ready (ping: 1ms).

the same code on stable release 0.3.1 works OK without any issue

"ESP8266_DirectConnect.ino" not working

Hi,

first of all I want to say thank you for Blynk. You are doing an excellent job with it!

I would like to get the "ESP8266_DirectConnect.ino" example running. If I understand it correctly, it would allow directly connect the iPhone app with the ESP8266.

Compiling and uploading the firmware works fine, and I can connect to the "Blynk-AP" with my iPhone. However, when I manually point the Blynk app (version 1.4) to the custom server 192.168.4.1 port 8442, the serial debug output reports the following error:

[1194] Blynk v0.3.1
[1194] Configuring WiFi access point: Blynk-AP
AP IP address: 192.168.4.1
[1194] Listening on port: 8442
Client connected from 192.168.4.2:51312
Error happened or disconnected.Client disconnected.

Should the code still work, or does it need to be updated, to work with the current iPhone app?

Kind regards,
Markus

the Zip download for Blynk Lib V3.1 is not working

blynk library and Energia boards from MSP430 family - compilation error on template

please rename variable "N" to "NN" inside utility/BlynkUtility.h (from line 26),
because name "N" causer compilation error on ENERGIA/MSP430 launchpads

exactly from:

template <unsigned N, typename T>
void BlynkAverageSample (T& avg, const T& input) {
    avg -= avg/N;
    const T add = input/N;
    // Fix for shorter delays
    avg += (add > 0) ? add : -1;
}

to

template <unsigned NN, typename T>
void BlynkAverageSample (T& avg, const T& input) {
    avg -= avg/NN;
    const T add = input/NN;
    // Fix for shorter delays
    avg += (add > 0) ? add : -1;
}

with this little change, launchpads like msp430f5529 works OK with UIPEthernet example

reference:
energia/Energia#785

gauge won't read float

sensors.requestTemperatures(); // Send the command to get temperatures
float temp = sensors.getTempCByIndex(0);
Serial.println(temp);
Blynk.virtualWrite(5, temp);

above shows nothing.

sensors.requestTemperatures(); // Send the command to get temperatures
int temp = sensors.getTempCByIndex(0);
Serial.println(temp);
Blynk.virtualWrite(5, temp);

above shows only 28 (instead of 28.31)

Received the Following Error in ESP8266_HardSer

ESP8266_Shield_HardSer.ino:31:29: fatal error: ESP8266_HardSer.h: No such file or directory
compilation terminated.
Error compiling.

I initially doughted there might be issues with installing the library but even after reinstalling i had the same issue.

NOTE: All others examples are working fine expect ESP8266_HardSer and ESP8266_SoftSer Examples

Library sends "hardware" commands before OK for login was retrieved from server

Here is a server log :

14:38:55.263 TRACE - Incoming LoginMessage{id=1, command=LoginMessage, length=32, body='5c593f6901354a0783a0d278dcc7be2a'}
14:38:55.263 DEBUG - Re registering hard channel. [id: 0x534f3835, /31.43.126.202:1025 => /100.75.226.5:8442]
14:38:55.263 TRACE - Incoming HardwareMessage{id=1, command=HardwareMessage, length=8, body='vw^@0^@clr'}
14:38:55.264 TRACE - Incoming HardwareMessage{id=2, command=HardwareMessage, length=19, body='vw^@0^@p^@0^@1^@Wow! :)^@'}
14:38:55.268 DEBUG - completeLogin. [id: 0x534f3835, /31.43.126.202:1025 => /100.75.226.5:8442]

completeLogin - is a moment when server sends back OK to hardware for Login command. But as you can see hardware sent 2 commands before login finished.

virtualWrite of double/float not working, sending %f

So I am using an esp8266 and trying to do a virtualWrite of a double/float, and all I get on blynk app is %.3f. I did some more investigating, and found that this is actually a problem with the printf not supporting %f. I am not sure this is just a esp8266 thing, or maybe even an arduino issue. I found this function http://pastebin.com/FdBFk3F4 that should just work instead of snprintf(). You can also see this issue reported at:

http://community.blynk.cc/t/how-to-send-float-number-to-android-app/761/4

esp8266/Arduino#341

can't set virtual pins on startup

I can t seem to set any pins in the setup function on an esp8266.
i am trying Blynk.virtualWrite(0, 1); after Blynk.begin(auth, ssid.c_str(), pass.c_str());
but it doesn t work. not even with a 2 second delay beforehand.

the ready serial print comes later than that, after a few connecting attempts

done setup
[11287] Connecting to cloud.blynk.cc:8442
[17886] Connecting to cloud.blynk.cc:8442
[24536] Connecting to cloud.blynk.cc:8442

is threre any flag to know when connection is actually ready and we can start writing stuff?

linux compile error Makefile:68: recipe for target 'main.o' failed

I got this error while trying to compile blynk-library/linux

raspberrypi2$ git clone https://github.com/blynkkk/blynk-library.git
Cloning into 'blynk-library'...
remote: Counting objects: 2832, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 2832 (delta 0), reused 0 (delta 0), pack-reused 2828
Receiving objects: 100% (2832/2832), 494.34 KiB, done.
Resolving deltas: 100% (1674/1674), done.
raspberrypi2$ cd blynk-library/linux/
raspberrypi2$ make clean all target=raspberry
rm main.o BlynkDebug.o ../utility/BlynkHandlers.o blynk
rm: cannot remove `main.o': No such file or directory
rm: cannot remove `BlynkDebug.o': No such file or directory
rm: cannot remove `../utility/BlynkHandlers.o': No such file or directory
rm: cannot remove `blynk': No such file or directory
Makefile:62: recipe for target 'clean' failed
make: [clean] Error 1 (ignored)
g++ -I ../ -I ./ -DLINUX -c -O3 -w -DRASPBERRY main.cpp -o main.o
In file included from ./BlynkSocket.h:25:0,
                 from main.cpp:17:
../Blynk/BlynkProtocol.h: In member function ‘bool BlynkProtocol<Transp>::connect(uint32_t)’:
../Blynk/BlynkProtocol.h:55:13: error: there are no arguments to ‘yield’ that depend on a template parameter, so a declaration of ‘yield’ must be available [-fpermissive]
../Blynk/BlynkProtocol.h:55:13: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
Makefile:68: recipe for target 'main.o' failed
make: *** [main.o] Error 1
raspberrypi2$

I fixed this with editing blynk-library/linux/Makefile

raspberrypi2$ diff blynk-library/linux/Makefile-ORIGINAL blynk-library/linux/Makefile-EDITED
48c48
<       CFLAGS += -DRASPBERRY

---
>       CFLAGS += -DRASPBERRY -fpermissive

Explanation about this flag can be found here
http://stackoverflow.com/questions/8843818/what-does-the-fpermissive-flag-do

The compilation process is now OK

raspberrypi2$ make clean all target=raspberry
rm main.o BlynkDebug.o ../utility/BlynkHandlers.o blynk
rm: cannot remove `main.o': No such file or directory
rm: cannot remove `BlynkDebug.o': No such file or directory
rm: cannot remove `../utility/BlynkHandlers.o': No such file or directory
rm: cannot remove `blynk': No such file or directory
Makefile:62: recipe for target 'clean' failed
make: [clean] Error 1 (ignored)
g++ -I ../ -I ./ -DLINUX -c -O3 -w -DRASPBERRY -fpermissive main.cpp -o main.o
g++ -I ../ -I ./ -DLINUX -c -O3 -w -DRASPBERRY -fpermissive BlynkDebug.cpp -o BlynkDebug.o
g++ -I ../ -I ./ -DLINUX -c -O3 -w -DRASPBERRY -fpermissive ../utility/BlynkHandlers.cpp -o ../utility/BlynkHandlers.o
g++ main.o BlynkDebug.o ../utility/BlynkHandlers.o -lrt -lpthread -s -lwiringPi -o blynk
raspberrypi2$

Unable to compile ESP8266 Standalone using esp8266/Arduino latest version.

When I go to compile the ESP8266_standalone.ino onto a standard esp8266 board it fails to compile with the error:

Arduino: 1.6.4 (Windows 7), Board: "Generic ESP8266 Module, 80 MHz, 115200, 512K (64K SPIFFS)"

In file included from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1/BlynkSimpleEsp8266.h:15:0,
from ESP8266_Standalone.ino:26:
D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1/BlynkApiArduino.h:44:6: warning: always_inline function might not be inlinable [-Wattributes]
void BlynkApi::processCmd(const void* buff, size_t len)
^
In file included from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1/BlynkSimpleEsp8266.h:16:0,
from ESP8266_Standalone.ino:26:
D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1/Blynk/BlynkProtocol.h:159:6: warning: always_inline function might not be inlinable [-Wattributes]
void BlynkProtocol::processInput(void)
^
In file included from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1/Blynk/BlynkDebug.h:17:0,
from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1\utility\BlynkDebug.cpp:10:
C:\Users\nog3\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697/tools/sdk/include/ets_sys.h:104:5: error: previous declaration of 'int atoi(const char*)' with 'C++' linkage
int atoi(const char *nptr);
^
In file included from c:\users\nog3\appdata\roaming\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9\xtensa-lx106-elf\include\stdint.h:12:0,
from c:\users\nog3\appdata\roaming\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9\lib\gcc\xtensa-lx106-elf\4.8.2\include\stdint.h:9,
from C:\Users\nog3\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697/tools/sdk/include/c_types.h:8,
from C:\Users\nog3\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697/tools/sdk/include/ets_sys.h:11,
from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1/Blynk/BlynkDebug.h:17,
from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1\utility\BlynkDebug.cpp:10:
c:\users\nog3\appdata\roaming\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9\xtensa-lx106-elf\include\stdlib.h:70:5: error: conflicts with new declaration with 'C' linkage
int _EXFUN(atoi,(const char *__nptr));
^
In file included from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1/Blynk/BlynkDebug.h:17:0,
from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1\utility\BlynkDebug.cpp:10:
C:\Users\nog3\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697/tools/sdk/include/ets_sys.h:119:6: error: previous declaration of 'void ets_intr_lock()' with 'C++' linkage
void ets_intr_lock();
^
In file included from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1/Blynk/BlynkDebug.h:26:0,
from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1\utility\BlynkDebug.cpp:10:
C:\Users\nog3\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Arduino.h:122:20: error: conflicts with new declaration with 'C' linkage
void ets_intr_lock();
^
In file included from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1/Blynk/BlynkDebug.h:17:0,
from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1\utility\BlynkDebug.cpp:10:
C:\Users\nog3\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697/tools/sdk/include/ets_sys.h:120:6: error: previous declaration of 'void ets_intr_unlock()' with 'C++' linkage
void ets_intr_unlock();
^
In file included from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1/Blynk/BlynkDebug.h:26:0,
from D:\Users\nog3\Documents\Arduino\libraries\blynk-library-0.2.1\utility\BlynkDebug.cpp:10:
C:\Users\nog3\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Arduino.h:123:22: error: conflicts with new declaration with 'C' linkage
void ets_intr_unlock();
^
Error compiling.

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.

Is there some step I've missed in installing the Blynk library?

ESP8266 - Sketch

Can Blynk.begin(auth, "ssid", "pass"); be called without specifying the wifi credentials. If we are managing it elsewhere?

onion omega example

I see onion omega was added to the boards list, but I'm confused how to use it. Is this with the arduino dock or no...?

Using ESP8266 as an Arduino Shield

Hello,
I've had success using Blynk with my ESP8266 in standalone mode, now I'd like to use it as an Arduino shield. I am trying to flash the correct AT firmware so I can use the ITEADLIB_Arduino_WeeESP8266 library. I saw in the examples that Blynk uses this library, and it requires version 0.22 AT firmware. I downloaded this firmware from the Espressif website, but the instructions on which .bin files to flash were not clear to me. I ended up using the NodeMCU flasher program to flash three .bin files at different offsets:
boot_v1.2.bin at 0x00000
user1.512.new.bin at 0x01000
blank.bin at 0x7E000
When I communicated with the ESP using ESPlorer, I typed AT+GMR and got some numbers back, but when I tried it with the ITEADLIB_Arduino_WeeESP8266 library and an Arduino Mega, I was not able to start UART communication. I posted an issue on the ITEADLIB_Arduino_WeeESP8266 github page a few days ago but haven't gotten a response. Since I am using hardware serial with version 0.22 firmware, I did not modify the .h file in the ESP8266 library. Any ideas?

ESP8266 not selectable in ios app

Hi,

got the sketch working on an ESP8266 nodemcu board by selecting arduino yun in the ios app.
is there a better choice until the app is updated?

trying to read pin analog0 results in a reboot of the esp.
cheers

SimpleTimer library doesn't work with Espressif (solution included)

I know, I know, everyone hates to maintain forks for platforms. It looks like SimpleTimer library messes with esp12e hardware timers in a bad way - I get callbacks as fast as it can vs every second. I, however, found that Timer http://platformio.org/#!/lib/show/75/Timer lib works quite well (I'm sure it will work with regular UNOs of the world, too).

Please update http://docs.blynk.cc/#troubleshooting-flood-error section and enhance the instructions. Or, maybe, switch the library code and examples to use this library instead?

This one works:

#include <Timer.h>

// the timer object
Timer timer;

// a function to be executed periodically
void repeatMe() {
    Serial.print("Uptime (s): ");
    Serial.println(millis() / 1000);
}

void setup() {
    Serial.begin(9600);
    timer.every(1000, repeatMe);
}

void loop() {
    timer.update();
}

Build failing, with "BLYNK_HW_IN is not declared" error

When trying building blynk-library on raspberry pi B rev1, I got error message like BlynkApiWiringPi.h : BLYNK_HW_IN is not declared in this scope and fail to build.

BLYNK_HW_IN is missing in this commit.

And, I worked around this issue by adding preprocessor symbol BLYNK_NO_INFO to linux/Makefile :

CFLAGS =   = -I ../ -I ./ -DLINUX -DBLYNK_NO_INFO

Then, Building is succeeded, and blynk command worked well.
But I think this workaround has some side-effects...

Please check this. Thank you.

on device/mcu/phone reboot restore state

this could be a function that a user could add in his code on the MCU to restore the previous state before reboot

the ios app should also restore the visual state if it s closed and restarted. currently it starts with a default state of everything off (buttons for instance)

LCD on Particle doesn't support double

  lcd.print(0,0, "Temperature:");
  lcd.print(0.2, t);

Get error:

home_monitor.cpp:175:19: error: no matching function for call to 'WidgetLCD::print(double, float&)'
                   ^

JS with local server. Doc. update

Many users asking how to connect JS to local BLynk server. Here is answer :

var blynk = new Blynk.Blynk(AUTH, options= {addr:"192.168.0.101",port:8441});

Please update your instructable accordingly.

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.