Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design DIDComm for ESP32 #11

Open
bshambaugh opened this issue Nov 23, 2022 · 2 comments
Open

Design DIDComm for ESP32 #11

bshambaugh opened this issue Nov 23, 2022 · 2 comments

Comments

@bshambaugh
Copy link
Owner

bshambaugh commented Nov 23, 2022

decentralized-identity/did-jwt#225 (JWE for P-256)

https://espressif-docs.readthedocs-hosted.com/projects/espressif-esp-drone/en/latest/communication.html , https://github.com/espressif/esp-idf/ ... identify server and client not by ip address but by did:key and resolve ip address from this if needed for connection ? (how do I structure the web socket server and client ... do I switch my present configuration and make my Node.js server the websocket client and the ESP32 the server?)
https://docs.espressif.com/projects/esp-at/en/latest/esp32/AT_Command_Examples/TCP-IP_AT_Examples.html
https://www.instructables.com/ESP32-Control-Via-UDP-Datagrams/
https://docs.espressif.com/projects/esp-at/en/latest/esp32/AT_Command_Examples/TCP-IP_AT_Examples.html#udp-transmission-with-changeable-remote-ip-address-and-port

resolve client ip from websocket server: https://stackoverflow.com/questions/14822708/how-to-get-client-ip-address-with-websocket-websockets-ws-library-in-node-js
for server on ESP32: https://github.com/morrissinger/ESP8266-Websocket

do radio: https://bitluni.net/am-radio-transmitter
do analog tv: https://www.youtube.com/watch?v=SSiRkpgwVKY

WiFi: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/wifi.html (runs below websockets I think, I don't think you can design your own wifi protocol, nor should you ... read it though....and understand what level didcomm lies on in comparison to websockets, http, tcp/ip ... I think you can send raw packets somehow...hmm... https://gist.github.com/mic159/f546974d642f4189958423fbefe27902)

https://docs.espressif.com/projects/esp-idf/en/v4.3-beta2/esp32/api-guides/wifi.html#side-effects-to-avoid-in-different-scenarios
"Theoretically, if we do not consider the side-effects the API imposes on the Wi-Fi driver or other stations/APs, we can send a raw 802.11 packet over the air, with any destination MAC, any source MAC, any BSSID, or any other type of packet. However,robust/useful applications should avoid such side-effects. The table below provides some tips/recommendations on how to avoid the side-effects of esp_wifi_80211_tx() in different scenarios."
for https://github.com/Jeija/esp32-80211-tx/blob/806553b0b81c58c3e03b6b2565c1609c5a800673/main/main.c#L86
or https://docs.espressif.com/projects/esp-idf/en/v4.3-beta2/esp32/api-reference/network/esp_wifi.html#_CPPv417esp_wifi_80211_tx16wifi_interface_tPKvib

communication layers: https://espressif-docs.readthedocs-hosted.com/projects/espressif-esp-drone/en/latest/communication.html

Do it over....sockets ... didcomm over a mesh network???
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/wifi.html >>
https://www.hackster.io/davidefa/esp32-wireless-mesh-made-easy-with-painlessmesh-part-1-f716f5
https://www.hackster.io/davidefa/esp32-wireless-mesh-made-easy-with-painlessmesh-part-2-1cfc1d
https://github.com/espressif/esp-mdf

Do it with ESP-NOW?
ESP-NOW - Peer to Peer ESP32 Network
https://www.youtube.com/watch?v=bEKjCDDUPaU

https://identity.foundation/didcomm-messaging/spec/ , https://didcomm.org/ , https://github.com/decentralized-identity/didcomm.org/blob/main/docs/protocol-example.md

https://github.com/hyperledger/aries-rfcs/blob/main/concepts/0003-protocols/README.md
https://github.com/decentralized-identity/didcomm-messaging#implementations
https://github.com/uport-project/veramo/tree/next/packages/did-comm/src
https://github.com/decentralized-identity/didcomm-rs
https://github.com/decentralized-identity/DIDComm-js ...

https://github.com/decentralized-identity/didcomm-bluetooth/blob/main/spec.md
https://github.com/decentralized-identity/didcomm
https://medium.com/datev-techblog/didcomm-didcomm-messaging-3e10fbf12bb8

Don't confuses hyperledger indy with hyperledger aries. The former has to do with V.C.

@bshambaugh
Copy link
Owner Author

bshambaugh commented Nov 28, 2022

The messages should be done in CBOR, especially for lightweight protocols like LoRa. https://cbor.io/

or try DIoTDComm from "A low-overhead approach for self-sovereign identity in IoT" from Geovane Fedrecheski et al.
https://arxiv.org/abs/2107.10232

@bshambaugh
Copy link
Owner Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant