User Tools

Site Tools


web_of_things:fosdem_2026

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
web_of_things:fosdem_2026 [2026/01/29 21:28] Christian Paulweb_of_things:fosdem_2026 [2026/01/30 19:27] (current) Christian Paul
Line 1: Line 1:
 ====== Web of Things at FOSDEM 2026 ====== ====== Web of Things at FOSDEM 2026 ======
  
-Web of Things is a set of standards for Internet of Things use cases. At the Matrix Hackathon and FOSDEM 2026, I intend to let people experiment with the following hardware. I support Web of Things via HTTP and Websockets.+===== Quick start =====
  
-===== Receipt printer =====+  * [[https://wot-wrench.chrpaul.de/#try=https://wot-why.jaller.de/receipt-printers-for-events/photo|Print photos on the receipt printer]] (select a photo then click "Invoke"
 +  * [[https://wot-wrench.chrpaul.de/#try=https://wot.chrpaul.de/image-storage/LDN3dJE3vu|Display images on the e-paper screen]] 
 + 
 +===== Advanced: HTTP API ===== 
 + 
 +Web of Things is a set of standards for Internet of Things use cases. At the Matrix Hackathon and FOSDEM 2026, I brought the following hardware. They support support Web of Things via HTTP and Websockets. 
 + 
 +==== Receipt printer ==== 
 + 
 +Current status: Ready
  
 {{:web_of_things:43384356-377a-4866-ad5c-95b7f105e780.jpg?300|}} {{:web_of_things:43384356-377a-4866-ad5c-95b7f105e780.jpg?300|}}
Line 15: Line 24:
   * Supported image formats: PNG (best results), JPG   * Supported image formats: PNG (best results), JPG
  
-==== URLs ===+=== URLs ===
-Use these URLs to prepare for the event or test your scripts. They will not print anything.+
  
-  * Test URL for images: https://wot-wrench.chrpaul.de/#try=https://wot-why.jaller.de/receipt-printers-for-events/photo +  * URL for printing images: https://wot-wrench.chrpaul.de/#try=https://wot-why.jaller.de/receipt-printers-for-events/photo 
-    * Thing Description: https://wot-why.jaller.de/receipt-printers-for-events/photo +    * URL for scripts: https://wot-why.jaller.de/receipt-printers-for-events/photo/actions/print-photo 
-  * Test URL for text: https://wot-wrench.chrpaul.de/#try=https://wot-why.jaller.de/receipt-printers-for-events/text +  * UI for printing text: https://wot-wrench.chrpaul.de/#try=https://wot-why.jaller.de/receipt-printers-for-events/text 
-    * Thing Description: https://wot-why.jaller.de/receipt-printers-for-events/text+    * URL for scripts: https://wot-why.jaller.de/receipt-printers-for-events/text/actions/print-text
  
-The final URLs will be published at the Matrix Hackathon. +==== Code examples (images) ====
- +
-==== Code examples ====+
  
 Bash: Bash:
Line 53: Line 59:
  
 if (!response.ok) { if (!response.ok) {
-  throw Error(`Failed to upload image. HTTP ${response.status}`);+  throw Error(`Failed to queue print job. HTTP ${response.status}`);
 } }
 </code> </code>
  
-===== E-paper screen =====+==== Code examples (text) ==== 
 + 
 +Bash: 
 + 
 +<code bash> 
 +curl -X POST \ 
 +  --header "Content-Type: application/json"
 +  --data '{"text":"Hello World!"}'
 +  https://wot-why.jaller.de/receipt-printers-for-events/text/actions/print-text 
 +</code> 
 + 
 +Or in NodeJS / Bun / Deno: 
 + 
 +<code javascript> 
 +const response = await fetch("https://wot-why.jaller.de/receipt-printers-for-events/text/actions/print-text",
 +  method: "POST", 
 +  headers: { 
 +    "Content-Type": "application/json", 
 +  }, 
 +  body: JSON.stringify({ 
 +    text: "Hello World!", 
 +  }), 
 +}); 
 + 
 +if (!response.ok) { 
 +  throw Error(`Failed to queue print job. HTTP ${response.status}`); 
 +
 +</code> 
 + 
 +==== E-paper screen ==== 
 + 
 +Current status: Ready at https://wot-wrench.chrpaul.de/#try=https://wot.chrpaul.de/image-storage/LDN3dJE3vu
  
 {{:web_of_things:c31e9a7b-9110-497c-89f8-39eadb726685.jpg?400|}} {{:web_of_things:c31e9a7b-9110-497c-89f8-39eadb726685.jpg?400|}}
Line 73: Line 110:
   * Supported image formats: PNG (best results), JPG   * Supported image formats: PNG (best results), JPG
  
-==== URLs ==== +=== URLs === 
-Use these URLs to prepare for the event or test your scripts. They will not display anything on the screen, but the Thing has a preview property.+Use these URLs to test your scripts. They will not display anything on the screen, but the Thing has a preview property.
  
   * Test URL: https://wot-wrench.chrpaul.de/#try=https://wot.chrpaul.de/image-storage/fosdem   * Test URL: https://wot-wrench.chrpaul.de/#try=https://wot.chrpaul.de/image-storage/fosdem
-    * Thing Description: https://wot.chrpaul.de/image-storage/fosdem+    * Image property for scripts: https://wot.chrpaul.de/image-storage/fosdem/properties/image 
 + 
 +Use this URL to HTTP PUT an image onto the screen.
  
-The final URLs will be published at the Matrix Hackathon.+  * Production URL for scripts: https://wot-wrench.chrpaul.de/#try=https://wot.chrpaul.de/image-storage/LDN3dJE3vu 
 +    * Image property for scripts: https://wot.chrpaul.de/image-storage/LDN3dJE3vu/properties/image
  
 ==== Code Examples ==== ==== Code Examples ====
web_of_things/fosdem_2026.1769718512.txt.gz · Last modified: by Christian Paul

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki