{"id":13419128,"url":"https://github.com/krohling/ArduinoWebsocketClient","last_synced_at":"2025-03-15T04:32:04.170Z","repository":{"id":144895763,"uuid":"2225800","full_name":"krohling/ArduinoWebsocketClient","owner":"krohling","description":"Websocket client for Arduino","archived":false,"fork":false,"pushed_at":"2018-07-19T12:05:05.000Z","size":251,"stargazers_count":227,"open_issues_count":14,"forks_count":72,"subscribers_count":27,"default_branch":"master","last_synced_at":"2024-10-23T00:05:25.500Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krohling.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2011-08-18T03:17:16.000Z","updated_at":"2024-05-13T08:27:00.000Z","dependencies_parsed_at":"2024-01-15T20:55:06.050Z","dependency_job_id":"4b35033c-6dd5-46fd-b2db-59b432f07d86","html_url":"https://github.com/krohling/ArduinoWebsocketClient","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krohling%2FArduinoWebsocketClient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krohling%2FArduinoWebsocketClient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krohling%2FArduinoWebsocketClient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krohling%2FArduinoWebsocketClient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krohling","download_url":"https://codeload.github.com/krohling/ArduinoWebsocketClient/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243685506,"owners_count":20330980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T22:01:11.706Z","updated_at":"2025-03-15T04:32:03.878Z","avatar_url":"https://github.com/krohling.png","language":"C++","readme":"# ArduinoWebsocketClient, an Arduino client for connecting and messaging with Websockets\nBlog: [World Domination Using Arduinos And Websockets](http://kevinrohling.wordpress.com/2011/09/14/world-domination-using-arduinos-and-websockets)\n\nWebsockets currently provide a simple and lightweight way to send and receive messages from web browsers.  This project was developed to extend this capability to embedded devices (Arduinos).  It is my hope that allowing devices to easily send information about themselves as well as respond to messages received from hosted services will result in some interesting applications.\n\n## Caveats\n\nThis library doesn't support every inch of the Websocket spec, most notably the use of a Sec-Websocket-Key.  Also, because Arduino doesn't support SSL, this library also doesn't support the use of Websockets over https.  If you're interested in learning more about the Websocket spec I recommend checking out the [Wikipedia Page](http://en.wikipedia.org/wiki/WebSocket).  Now that I've got that out of the way, I've been able to successfully use this to connect to several hosted Websocket services, including: [echo.websocket.org](http://websocket.org/echo.html) and [pusherapp.com](http://pusherapp.com).\n\n## Installation instructions\n\nOnce you've cloned this repo locally, copy the ArduinoWebsocketClient directory into your Arduino Sketchbook directory under Libraries then restart the Arduino IDE so that it notices the new library.  Now, under File\\Examples you should see ArduinoWebsocketClient.  To use the library in your app, select Sketch\\Import Library\\ArduinoWebsocketClient.\n\n## How To Use This Library\n\n```\nbyte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };\nchar server[] = \"echo.websocket.org\";\nWebSocketClient client;\n\nvoid setup() {\n  Serial.begin(9600);\n  Ethernet.begin(mac);\n  client.connect(server);\n  client.setDataArrivedDelegate(dataArrived);\n  client.send(\"Hello World!\");\n}\n\nvoid loop() {\n  client.monitor();\n}\n\nvoid dataArrived(WebSocketClient client, String data) {\n  Serial.println(\"Data Arrived: \" + data);\n}\n```\n\n## Examples\n\nThere example included with this library, EchoExample, will connect to echo.websocket.org, which hosts a service that simply echos any messages that you send it via Websocket.  This example sends the message \"Hello World!\".  If the example runs correctly, the Arduino will receive this same message back over the Websocket and print it via Serial.println.","funding_links":[],"categories":["TODO scan for Android support in followings","Libraries"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrohling%2FArduinoWebsocketClient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrohling%2FArduinoWebsocketClient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrohling%2FArduinoWebsocketClient/lists"}