C# Websocket for IoT

buddhikakgsl

Well-known member
  • Jul 19, 2012
    1,136
    118
    63
    ඉන්න තැන
    මම ESP32 device එකකින් websocket හරහා browser එකට sensor data send කරනව. මට ඔනි මේ reading ටික කෙලින්ම Winform app එකකට යවන්න මෙක කරන්නෙ කොහොමද.

    මේක තමයි දැනට කරන code එක.

    //============================
    #include <WiFi.h>
    #include <WebServer.h>
    #include <WebSocketsServer.h>
    #include <driver/i2s.h>

    const i2s_port_t I2S_PORT = I2S_NUM_0;
    const char* ssid = "SSID";
    const char* password = "PWD";

    WebServer server(80);
    WebSocketsServer webSocket = WebSocketsServer(81);

    String JSONtxt;

    #include "webpage.h"
    void handleRoot()
    {
    server.send(200,"text/html", webpageCont);
    }
    void setup()
    {
    Serial.begin(115200);

    const i2s_config_t i2s_config = {
    // configuration
    };

    const i2s_pin_config_t pin_config = {
    //pin configuration
    }

    server.on("/", handleRoot);
    server.begin(); webSocket.begin();


    void loop()
    {
    webSocket.loop(); server.handleClient();

    int32_t sample = 0;
    int bytes_read = i2s_pop_sample(I2S_PORT, (char *)&sample, portMAX_DELAY); // no timeout
    if (bytes_read > 0) {

    String sampleString = String(sample);

    JSONtxt = "{\"sample\":\""+sampleString+"\"}";
    webSocket.broadcastTXT(JSONtxt);


    //============================
    webpage.h
    //============================

    const char webpageCont[] PROGMEM =
    R"=====(
    <!DOCTYPE HTML>
    <html>
    <title>ESP32 WebSocket Server</title>
    <!---------------------------CSS-------------------------->
    <style>

    body {background-color:rgba(128,128,128,0.322); font-family:calibri}
    h1 {font-size: 40px; color: black; text-align: center}
    h2 {font-size: 30px; color: blue}

    div.h1 {background-color: whitesmoke;}
    </style>
    <!--------------------------HTML-------------------------->
    <body>
    <h1><div class="h1">ESP32 WebSocket Server</div></h1>
    <h2>
    Level: <span style="color:rgb(216, 3, 3)" id="sample"></span>
    </h2>
    </body>
    <!----------------------JavaScript------------------------>
    <script>
    InitWebSocket()
    function InitWebSocket()
    {
    websock = new WebSocket('ws://'+window.location.hostname+':81/');
    websock.onmessage=function(evt)
    {
    JSONobj = JSON.parse(evt.data);
    document.getElementById('sample').innerHTML = JSONobj.sample;
    var sample = parseInt(JSONobj.sample);

    }
    }
    </script>
    </html>
    )=====";

    bump
    ------ Post added on Feb 9, 2021 at 7:54 AM
     
    • Like
    Reactions: JohnSnow

    buddhikakgsl

    Well-known member
  • Jul 19, 2012
    1,136
    118
    63
    ඉන්න තැන
    winforms ekata tcp listener, udp client use karala karanna bari da?

    nattan simple signlar service ekak use karanna
    udp wala data receiving reliability adui. SignalR web application walata neweida use karnne ? TCP is ok. eunatamata oni websocket programming walin data ganna

    Server side websocket weda. Clineta websocket eka tama hoya gannabari une tama.
    ------ Post added on Feb 12, 2021 at 10:35 PM
     

    ThisaraMalintha

    Well-known member
  • Nov 16, 2015
    8,612
    7,331
    113
    ගෙදර
    udp wala data receiving reliability adui. SignalR web application walata neweida use karnne ? TCP is ok. eunatamata oni websocket programming walin data ganna

    Server side websocket weda. Clineta websocket eka tama hoya gannabari une tama.
    ------ Post added on Feb 12, 2021 at 10:35 PM
    signalr use karanwa nam madden server ekak danna wenawa. eka boru wadak wage oyage use case ekata. habai devices godakata realtime data ganna puluwan signalr use karoth. ehema karanna ona unoth signalr use karanna puluwan

    tcp listener eken karanna puluwan wei mama hithanne. nattan third party websocket libraries athi
     

    sithija.h

    Well-known member
  • Nov 21, 2008
    9,679
    5,904
    113
    Matara
    udp wala data receiving reliability adui. SignalR web application walata neweida use karnne ? TCP is ok. eunatamata oni websocket programming walin data ganna

    Server side websocket weda. Clineta websocket eka tama hoya gannabari une tama.
    ------ Post added on Feb 12, 2021 at 10:35 PM
    SignalR C# Winform wela lassanata use karanna puluwan bn. Mama karalath thiyenawa. Kisima awlak na
     

    sithija.h

    Well-known member
  • Nov 21, 2008
    9,679
    5,904
    113
    Matara
    signalr client eka neda? signalr hub ekak server ekaka host karanna ona ne kohomath?
    nattna winforms app ekata signalr server eka widihata act karanna puluwanda?
    Client මචං. සර්වර් එකක කොහොමයි හොස්ට් කරන්න ඕන. එහෙම බැලුවම මෙයාගෙ සිද්දියට හරියටම මැච් වෙන්නෙ නෑ වැඩේ.
     
    • Like
    Reactions: ThisaraMalintha

    hasithayad

    Well-known member
  • Sep 28, 2011
    30,793
    1
    44,991
    113
    සර්වර් මුකුත් ඕනෙ නෑ firebase database එකකට connect කරන්න පුලුවන් ඔය දෙකම