fecatala / simple-modbus Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/simple-modbus
Automatically exported from code.google.com/p/simple-modbus
Is there something similar for the RaspberryPi ?
Thanks a lot.
Claudio
Original issue reported on code.google.com by [email protected]
on 29 Mar 2015 at 2:33
Hi,
Is it possible to add Coils and input registers to Slave ?
I know the slave is not that popular, and it is not upto kiss principle
but i am sure there are people like me needs them.
Do you accept donations ? I want to donate even it is a small amount.
Original issue reported on code.google.com by [email protected]
on 8 Aug 2014 at 2:11
Whoops ;-)
Don't know how I missed this but the example code in SMSV7 that is suppose to
communicate with SMMV10 will not work because the id was set at 1 instead of 2
so the master sketch could not communicate with it.
This is fixed in SMSV8.
My apologies.
Original issue reported on code.google.com by [email protected]
on 5 Nov 2013 at 6:25
Arduino Master -> 1 PC slave
Reading 22 Registers (PACKET 1 - READ_HOLDING_REGISTERS)
Writing 23 Registers (PACKET 2 - PRESET_MULTIPLE_REGISTERS)
Same array.
WORKING.
Arduino Master -> 2 devices slaves (NOT PC)
Reading 2 Registers (PACKET 3 - READ_HOLDING_REGISTERS)
Writing 2 Registers (PACKET 4 - PRESET_MULTIPLE_REGISTERS)
Reading 2 Registers (PACKET 5 - READ_HOLDING_REGISTERS)
Writing 2 Registers (PACKET 6 - PRESET_MULTIPLE_REGISTERS)
4 arrays.
WORKING.
Arduino Master -> 3 devices slaves (1 PC, 2 devices) / or 2 devices slaves (1
PC, 1 device)
As above.
NOT WORKING.
At the first run all the packets all successfully transmitted. Then PACKET 1
starts the failed requests. All the other PACKETS are successful.
baud 19200
timeout 500
polling 250
Using:
SimpleModbusMasterV7.zip // WIN7 64-bit // PC as slave using LabView 2011 and
NI MODBUS Library for LabVIEW (nimodbus121.zip)
Original issue reported on code.google.com by [email protected]
on 15 May 2013 at 10:23
Dear all,
Here i am attaching working code & modified code for simple modbus.The
difference between working code & alter code is assign method of slave ID. If i
wanted to config the slave ID i need to do individually .i checked the code
work with change in ID no in working code. but it difficult to keep track if
there are 255 devices .
For that i used 8:1 multiplexer & 8pin dip . Depend on status output
multiplexer i calculated the device ID. The function ID_Check() determine
device ID>.when i debug initially via serial monitor the code seems device ID
updating as expected. but when i enable slave , i get error msg didnt receive
any response from slave. if i assign device id directly code start working.
Let me know how to assign device ID here
Working code:
#include <ModbusRtu.h>
#define Device_ID 1
uint16_t au16data[16] = {
3, 1415, 9265, 4, 2, 7182, 28182, 8, 0, 0, 0, 0, 0, 0, 1, -1 };
Modbus slave(Device_ID,10,0); // this is slave @1 and RS-232 or USB-FTDI
void setup() {
slave.begin( 19200 ); // baud-rate at 19200
}
void loop() {
slave.poll( au16data, 16 );
}
Now alter code as below
#include <ModbusRtu.h>
int SO_enable=5;
int S1_enable=4;
int S2_enable=3;
int Status_Out[8];
int Output_Read=2;
static int Device_ID;
unsigned long int curr_time;
Modbus *slave=0;
int array[8][3]={
{
0,0,0 }
,
{
0,0,1 }
,
{
0,1,0 }
,
{
0,1,1 }
,
{
1,0,0 }
,
{
1,0,1 }
,
{
1,1,0 }
,
{
1,1,1 }
};
unsigned int ID_Check() {
unsigned int ID_value;
for(int row=0;row<8;row++)
{
digitalWrite(SO_enable,array[row][0]);
digitalWrite(S1_enable,array[row][1]);
digitalWrite(S2_enable,array[row][2]);
Status_Out[row]=digitalRead(Output_Read);
}
ID_value = 1 * Status_Out[0] + 2 * Status_Out[1] + 4 * Status_Out[2] + 8 * Status_Out[3] + 16 * Status_Out[4] + 32 * Status_Out[5] + 64 * Status_Out[6] + 128 * Status_Out[7];
return(ID_value);
}
uint16_t au16data[16] =
{
3, 1415, 9265, 4, 2, 7182, 28182, 8, 0, 0, 0, 0, 0, 0, 1, -1
};
void setup() {
// Serial.begin(9600);
pinMode(SO_enable, OUTPUT) ;// pin can enable/disable using digital IO 7 of arduino
pinMode(S1_enable, OUTPUT) ;// pin can enable/disable using digital IO 6 of arduino
pinMode(S2_enable, OUTPUT) ;// pin can enable/disable using digital IO 5 of arduino
pinMode(Output_Read,INPUT);
unsigned int Device_ID=ID_Check();
slave=new Modbus(Device_ID,0,0);
slave->begin(9600);
}
void loop() {
// Modbus_setup();
delay(1000);
for(int i = 0; i<8; i++)
{
au16data[i];
}
}
What steps will reproduce the problem?
1.
2.
3.
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 10 Feb 2015 at 8:35
What steps will reproduce the problem?
1. Connected LinkSprite RS485 Interface to Arduino. Using USConverters Mini
Premium USB/RS485 Converter
2. When Calling the simplemodbusslave. I get zero response. I see zero TX/RX
lights flash on the Arduino.
3.
What is the expected output? What do you see instead?
I expected to be able to right to the register or read the register. I am using
slave 2 with address 0.
Seems like the arduino isnt responding at all
What version of the product are you using? On what operating system?
I am using qmodbus on my windows pc.
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 5 Jul 2014 at 11:00
Hello,
i want to simulate a modbus slave device (a rather big AHU) witch has some
config data, sensor data and status data on varoius adresses.
10001-10018 config
15000-15024 sensors
...
40000-40004 status
How can i create the same register structure with a simpleModbus slave?
Using arduino IDE 1.0.5 and nano328 boards + max 485
thanks!
Original issue reported on code.google.com by [email protected]
on 16 Aug 2013 at 9:13
If on the master I write "modbus_construct (write, 2,
PRESET_MULTIPLE_REGISTERS, 254, 16, writeRegs2);"
because I want to write 16 bytes starting at position 254 in the
holdingRegs[HOLDING_REGS_SIZE] array, (the size is 287) the slave freeze.
The array holdihgRegs is too big?
I use master version V10 and slave version V8.
Any suggestion?
Thanks
Original issue reported on code.google.com by [email protected]
on 24 Nov 2014 at 12:13
Hi all, are doing a great job!!
We are testing with SimpleModusSlaveV8 library and are not able to activate
outputs in Arduino, I explained in detail that happens to us:
What steps will reproduces the problem?
1. SimpleModbusSlaveV8 library with Arduino UNO.
Two. Conexion CI MAX485.
Three. PCs with XP operating system.
April. Windmill Software used for testing, Cas Modbus Scanner
ModBusPoll ...
May. Arduino program is loaded in the example of the library,
SimpleModbusSlaveExample.
6. Plot script is generated to activate the arduino output 13 with the function
... 16
0A 10 00 0D 00 01 02 00 01 CRC
7. Arduino response occurs with the following frame
00 0A 90 02 BC 03 00 and the output is not active
8. Works perfectly with analog and digital readouts, function 3.
What is the expected output? What do you see instead?
The expected value would have to be the first 6 bytes of the frame costs, 0A 10
00 0D 00 01, and change the output to arduino.
The value obtained is 00 0A 90 02 BC 03 00 and the output does not change
state.
What version of the product are you using? On what operating system?
SimpleModbusSlaveV8 in arduino IDE 1.0.5-R2 and Windows PC with XP operating
system.
Please provide any additional information below.
Know the origin of the problem, all readings are correct but we can not change
the status of the outputs.
My email account is [email protected].
Thank you very much for everything!!
Original issue reported on code.google.com by [email protected]
on 17 Jun 2014 at 10:39
What steps will reproduce the problem?
1. Raspberry with master work perfect
2. Arduino Uno with simple-modbus slave library ID 1 ( problem )
3. Arduino Due with simple-modbus slave library ID 4 work perfect
4. PIC 18f4685 slave ID 2 work perfect
5. modbus rtu over rs485
What is the expected output? What do you see instead?
At the start, everything works perfectly.
After a few hours arduino one stops responding properly.
Rasperry performs the request correctly.
(Arduino-two) and (pic) answered correctly, but (Arduino-one) is not responding
correctly.
Under the request and the response when the error occurs:
[01][03][00][00][00][27][05][D0]
Waiting for a confirmation...
<01><83><02><C0><F1>
ERROR Illegal data address
Under the request and response when all ok:
[01][03][00][00][00][27][05][D0]
Waiting for a confirmation...
<01><03><4E><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>
<00><00><00><00><00><00><2E><00><50><0C><9E><0A><FA><00><07><00><00><00><00><00>
<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>
<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>
<00><4B><F8>
This problem occurs after hours of proper operation.
To fix I reset (Arduino-Uno) and everything works fine for other hours.
It would appear that the internal register address request <03> be corrupted.
Under certain parts of code of interest Modbus on Arduino-Uno:
#include <SimpleModbusSlave.h>
....
unsigned int holdingRegs[41]; // function 3 and 16 register array
....
modbus_configure(&Serial, 19200, SERIAL_8N1, ID_SLAVE, TxEnablePin, 40, holdingRegs);
...
valore = 2.35;
val_sensore = 150;
TempDHT22= 23.43;
UmiDHT22 = 6.25;
holdingRegs[11] = int(valore * 100);
holdingRegs[12] = val_sensore;
holdingRegs[13] = int(TempDHT22 *100);
holdingRegs[14] = int(UmiDHT22 *100);
holdingRegs[15] = StatoIOSala;
Original issue reported on code.google.com by [email protected]
on 26 Dec 2013 at 11:05
Hi I'm using the arduino IDE 1.5.6 and arduino YUN to test it, but it give me
this error "cannot convert 'Serial_*' to 'HardwareSerial*' for argument '1' to
'void modbus_configure(HardwareSerial*, long int, unsigned char, unsigned int,
unsigned int, unsigned char, unsigned char, Packet*, unsigned int)'" How to
solve this?
Original issue reported on code.google.com by [email protected]
on 17 Apr 2014 at 7:51
1. I upload the Simple Modbus slave example to arduino.
2. Connect arduino uno to computer via max485 and USB to rs485 converter
3. Try to read registers with Modbus poll and Mtester
I receive message "Illegal data value".I am using arduino 1.0.2 on Windows 7
64bit
?
What does it mean?Where is the problem?
Thanks
Original issue reported on code.google.com by [email protected]
on 8 Dec 2012 at 10:14
Hi.
I m just wondering if that is possible to define modbus_configure parameters in
some other loop other then void setup().
I m planing to provide a menu for setup parameters thru LCD screen. Would that
be possible?
Cheers
Original issue reported on code.google.com by [email protected]
on 9 Dec 2013 at 11:40
Using ClearSCADA or ModScan as a Modbus master to the an arduino running a
slightly modified version of the example Modbus slave programme to add a few
more registers (only 5 in total).
What steps will reproduce the problem?
1. Configure a Modbus analogue output point in ClearSCADA/ModScan and configure
it with a valid address.
2. Send a control request to modify the value from the master.
3. Arduino (slave) sends back command failed.
What version of the product are you using? On what operating system?
Windows 7
I can read this point fine from the master, it's just the control that is
erroring.
Have control functions been implemented in this library?
Original issue reported on code.google.com by [email protected]
on 17 Jun 2014 at 8:49
I am trying to communicate between arduino due and PLC through MODBUS
PROTOCOL.I came across your example and this is the error stoping me.
Error while Compiling your examples
SimpleModbusSlaveArduino.ino: In function 'void setup()':
SimpleModbusSlaveArduino:80: error: 'SERIAL_8N2' was not declared in this scope
I am usind Arduino IDE 1.5.1r2 on windows 7 home basic
The board is Arduino Due.
Is there any problems for parity and stop bits on this IDE or on DUE.
please Help.
Thank you.
What steps will reproduce the problem?
1.
2.
3.
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 15 Sep 2013 at 5:50
Is it possible to use this lib over a WiFi? Have a project I want to use
modbus, but over wireless. I have a Wifly shield from Sparkfun.
Original issue reported on code.google.com by [email protected]
on 31 Jul 2014 at 2:34
hi juan
i am able to communicate succesfully using your library with my slave device
using arduino MEGA
now i want to send an sms with gsm modem using your library
so specifically whatever data comes in my com port of my arduino i want to send
it via GSM modem
is this possible???
Using:
SimpleModbusMasterV7.zip // WINXP 32-bit // PLC as slave // gsm modem-SIM
300//arduino 1.0.4
Original issue reported on code.google.com by [email protected]
on 19 May 2013 at 3:53
What steps will reproduce the problem?
1. Load SimpleModbusSlaveArduino from SimpleModbusSlaveV7
2. Compile in Arduino IDE v 1.0.5
3. resulting in the following error:
SimpleModbusSlaveArduino.ino: In function 'void setup()':
SimpleModbusSlaveArduino:80: error: 'modbus_configure' was not declared in this
scope
SimpleModbusSlaveArduino.ino: In function 'void loop()':
SimpleModbusSlaveArduino:91: error: 'modbus_update' was not declared in this
scope
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
Please provide any additional information below.
Trying to get SimpleModbusMasterV10 and SlaveV7 on 2 UNOs to talk thru MAX487
chips per your MAX487 schematic.
Thanks
-=Ryan
Original issue reported on code.google.com by [email protected]
on 18 Oct 2013 at 2:36
Hallo,
which is the maximum baud speed that I can use with Simple Modbus library ?
I'm using Arduino UNO and Mega 2560.
Thank' s a lot...
Original issue reported on code.google.com by [email protected]
on 15 Feb 2015 at 9:23
What steps will reproduce the problem?
1.Arduino Ver1.5.4 there is an error in the simpleModbus libraries.
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 24 Sep 2013 at 6:01
What steps will reproduce the problem?
1. I am using Arduino Mega an i'd like to use the Serial 3
2.
3.
What is the expected output? What do you see instead?
By default, the library use the serial "0"
What version of the product are you using? On what operating system?
I am usig Simple-Modbus V7
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 24 Aug 2013 at 12:48
Hello.
Not working, writing to slaves, from the master. Function:
PRESET_MULTIPLE_REGISTERS
If it works, no problem, the reading of slaves, from the Master. function:
READ_HOLDING_REGISTERS
I used the examples of the library, with some modifications .. but even with
the original, I have the same problem.
The libraries, are modified to use the serial port # 1 MEGA
Use IDE 1.0.2 and 1.0.3
Arduino Mega 2560
Any idea that I can be doing wrong??
Post Sketch Master and Slave, and modified lib.
thanks
regards
Original issue reported on code.google.com by [email protected]
on 28 Dec 2012 at 4:21
Attachments:
What steps will reproduce the problem?
1. Download the simple-modbus v10.
2. while compile got the error message as under.
What is the expected output? What do you see instead?
Arduino: 1.5.6-r2 (Windows 8), Board: "Arduino Mega or Mega 2560, ATmega2560
(Mega 2560)"
D:\Aurdino\Software\arduino-1.5.6-r2\hardware\tools\avr\bin\avr-g++ -c -g -Os
-w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega2560
-DF_CPU=16000000L -DARDUINO=156 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR
-ID:\Aurdino\Software\arduino-1.5.6-r2\hardware\arduino\avr\cores\arduino
-ID:\Aurdino\Software\arduino-1.5.6-r2\hardware\arduino\avr\variants\mega
C:\Users\admin\AppData\Local\Temp\build4717895760646505632.tmp\SimpleModbusMaste
rArduino.cpp -o
C:\Users\admin\AppData\Local\Temp\build4717895760646505632.tmp\SimpleModbusMaste
rArduino.cpp.o
In file included from SimpleModbusMasterArduino.ino:103:
D:\Aurdino\Software\arduino-1.5.6-r2\hardware\arduino\avr\cores\arduino/Arduino.
h:135: error: expected ',' or '...' before numeric constant
In file included from
D:\Aurdino\Software\arduino-1.5.6-r2\hardware\arduino\avr\cores\arduino/Hardware
Serial.h:29,
from D:\Aurdino\Software\arduino-1.5.6-r2\hardware\arduino\avr\cores\arduino/Arduino.h:221,
from SimpleModbusMasterArduino.ino:103:
D:\Aurdino\Software\arduino-1.5.6-r2\hardware\arduino\avr\cores\arduino/Stream.h
:57: error: expected ',' or '...' before numeric constant
In file included from
D:\Aurdino\Software\arduino-1.5.6-r2\hardware\arduino\avr\cores\arduino/Arduino.
h:221,
from SimpleModbusMasterArduino.ino:103:
D:\Aurdino\Software\arduino-1.5.6-r2\hardware\arduino\avr\cores\arduino/Hardware
Serial.h:95: error: expected ',' or '...' before numeric constant
In file included from SimpleModbusMasterArduino.ino:103:
D:\Aurdino\Software\arduino-1.5.6-r2\hardware\arduino\avr\cores\arduino/Arduino.
h:232: error: expected ',' or '...' before numeric constant
SimpleModbusMasterArduino.ino:111: error: 'Packet' does not name a type
SimpleModbusMasterArduino.ino:117: error: 'packetPointer' does not name a type
SimpleModbusMasterArduino.ino:118: error: 'packetPointer' does not name a type
SimpleModbusMasterArduino.ino: In function 'void setup()':
SimpleModbusMasterArduino.ino:141: error: 'packet1' was not declared in this
scope
SimpleModbusMasterArduino.ino:141: error: 'READ_HOLDING_REGISTERS' was not
declared in this scope
SimpleModbusMasterArduino.ino:141: error: 'modbus_construct' was not declared
in this scope
SimpleModbusMasterArduino.ino:144: error: 'packet2' was not declared in this
scope
SimpleModbusMasterArduino.ino:144: error: 'PRESET_MULTIPLE_REGISTERS' was not
declared in this scope
SimpleModbusMasterArduino.ino:171: error: 'Packet' was not declared in this
scope
SimpleModbusMasterArduino.ino:171: error: expected primary-expression before
',' token
SimpleModbusMasterArduino.ino:171: error: 'modbus_configure' was not declared
in this scope
SimpleModbusMasterArduino.ino: In function 'void loop()':
SimpleModbusMasterArduino.ino:178: error: 'modbus_update' was not declared in
this scope
What version of the product are you using? On what operating system?
using Arduino DUE board. version 1.5.6-r2.
Thanks in advance for support.
Original issue reported on code.google.com by [email protected]
on 11 May 2014 at 2:56
Updated the master and slave libraries to support the selection of different
serial ports. You can now choose to use Serial, Serial1 or Serialx to
communicate on without renaming the serial instances in the cpp file.
Original issue reported on code.google.com by [email protected]
on 31 Jul 2013 at 8:40
Is it possible to use software serial? I tried replacing the Serial calls with
mySerial but I don't know enough about cpp scoping to make it work. I get
various scope errors.
Original issue reported on code.google.com by [email protected]
on 6 May 2013 at 9:18
Could you send me the example use master and slave simple-modbus with PIC
please ?
I would make the bus with arduino and pic by modbus.
Thanks very much in advance.
Bye
MB
Original issue reported on code.google.com by [email protected]
on 8 Aug 2013 at 1:23
SimpleModbusSlave has been updated to match the api of the master library. I
also speed up the reaction on receiving of bytes.
Tested using two MAX487's one on PC side and one on Arduino side.
QModbus and Mtester was used.
Original issue reported on code.google.com by [email protected]
on 10 Apr 2013 at 1:37
You can now use the parity options of the Serial class.
Original issue reported on code.google.com by [email protected]
on 12 Jul 2013 at 5:43
Since V4 SimpleModbusSlave has not been updated. It is very robust and has been
used by quite a few users by now but I have decided to split it from the master
library. I will update SimpleModbusSlave so that it matches the API calls to
SimpleModbusMaster in the near future.
Original issue reported on code.google.com by [email protected]
on 9 Apr 2013 at 6:40
SimpleModbusMasterV10 now supports functions 1, 2 and 15 with broadcasting on
15.
Original issue reported on code.google.com by [email protected]
on 2 Aug 2013 at 1:44
Added the constructor function modbus_construct() to avoid using struct
pointers as I'm a bit lazy ;-)
Other then the new function nothing has changed.
Original issue reported on code.google.com by [email protected]
on 3 May 2013 at 7:12
I am using Window os, I have two version of arduino v1.0.0 and v1.0.5. I have
tried below codes On it But i didnt get any responses.Here i am attaching
software and example code i am using. I am trying only example code. I am
getting error : Modbus message timeout
Original issue reported on code.google.com by [email protected]
on 3 Apr 2014 at 8:21
Attachments:
Since SimpleModbusMaster was written in a night it will indeed contained some
"spaghetti" code. It basically follows a state machine. I have re-written the
library so this can be clearly seen. The code has been written so that it is
small and fast.
In the process of re-writing I found a minor glitch on the frame delay after a
call to transmit a packet. It seems using pull-ups and pull-downs affected this
delay so I removed it and tested it on an LS GM7 PLC for about 20minutes
without any errors.
Original issue reported on code.google.com by [email protected]
on 2 Apr 2013 at 5:30
Arduino Micro usb serial does not work like this.
Serial1 works but serial ower USB not working.
tested with arduino slave library v8 and Mach3 CNC software in computer.
Original issue reported on code.google.com by [email protected]
on 15 Dec 2013 at 4:04
Can I use this library on Arduino Due ?
I try but gets some errors.
Thanks bye.
Original issue reported on code.google.com by [email protected]
on 8 Aug 2013 at 7:06
Hello!
I have a problem. How can i change address in the loop (arduino 103) ?
I try, but dosn't work: (Always read the Address 1 and not read Address 2)
unsigned int modbusaddress = 1;
void setup()
{
.........
modbus_construct(packet1, modbusaddress, READ_HOLDING_REGISTERS, 0, 1,
readRegs);
.......
void loop()
{
modbusaddress = 2;
modbus_update();
...
}
Somebody help me please!
Thanks
Original issue reported on code.google.com by [email protected]
on 27 Jun 2014 at 4:13
Attachments:
Whoops!
When testing V5 a commented out a part of the code in processError() so that it
will not stop communicating when the retry count is reached.
This is fixed in V6. I also split SimpleModbusMaster and SimpleModbusSlave
cause SimpleModbusSlave has not been updated since V4.
I also cleaned up allot of commenting (and spelling mistakes) in
SimpleModbusMaster.
Original issue reported on code.google.com by [email protected]
on 9 Apr 2013 at 6:28
Since Arduino V1.0, Serial.flush() is needed to flush out all the characters in
the transmit buffer. SimpleModbusSlave did not implement this and as a result
when half duplex communication is used with a MAX485/487 driver the full frame
was not transmitted.
This is now fixed in V4.1. Tested 100%
Original issue reported on code.google.com by [email protected]
on 2 May 2012 at 11:37
What steps will reproduce the problem?
1. The modbus slave I have does not support function 16 for setting register,
only function 6.
2. Same goes for function 15, not supported, only function 5.
This is a thermostat from Delta automation.
Reading registers and coils works perfectly.
But for full functionality I need to be able to set the new target temperature,
this is done with function 6 to address 0x1001. And I need to switch the
thermostat between run/stop mode, a single coil at address 0x0814.
Any possibility this could make it in to the library?
Original issue reported on code.google.com by [email protected]
on 17 Jul 2014 at 1:59
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.