簡體   English   中英

發送數據眨眼(1)設備

[英]Sending data blink(1) device

我剛剛開始研究webusb並嘗試使用它來打開blink(1)mk2 我能夠發現該設備,打開它,聲明一個接口,然后調用controlTransferOut 我現在遇到的麻煩是不知道我應該發送什么數據以使其閃爍或點亮。

我一直在使用這個示例 ,其中有人能夠使用Chrome擴展程序(使用chrome.usb界面)來控制它, chrome.usb來激發它的正常工作。 我寫了以下代碼:

const VENDOR_ID = 0x27b8;

navigator.usb.requestDevice({
  filters: [{
    vendorId: VENDOR_ID
  }]
}).then(selectedDevice => {
  device = selectedDevice;
  return device.open();
}).then(() => {
  return device.selectConfiguration(1);
}).then(() => {
  return device.claimInterface(0);
}).then(() => {
  return device.controlTransferOut({
    requestType: 'class',
    recipient: 'interface',
    request: 0x09,
    value: 1,
    index: 0
  });
}).then(() => {
  const r = Math.floor((Math.random() * 255) + 0);
  const g = Math.floor((Math.random() * 255) + 0);
  const b = Math.floor((Math.random() * 255) + 0);
  // not entirely sure what is going on below...
  const fadeMillis = 500;
  const th = (fadeMillis / 10) >> 8;
  const tl = (fadeMillis / 10) & 0xff;

  const data = new Uint8Array([0x01, 0x63, r, g, b, th, tl, 0x00, 0x00]).buffer;
  return device.transferIn(1, data);
}).then(result => {
  console.log(result);
}).catch(error => {
  console.log(error);
});

調用controlTransferOut時,此操作會失敗並出現傳輸錯誤。 但是,如果我將requestType更改為standard,則在調用transferIn時它繼續失敗。

我如何找出需要什么樣的數據和數據格式才能使其正常工作?

您需要在第一個controlTransferOut包括data transferIn不向設備發送數據,而是接收數據。

編輯添加 :不幸的是,如果未實現標准設備類,則沒有通用的方法來確定發送到USB設備或從USB設備發送的數據的正確格式。 blink(1)mk2使用HID協議,但是它發送和接收的功能報告的特定格式是非標准的。

如何閃爍<div>根據數據庫數據(json)</div><div id="text_translate"><p> 所以我有這個代碼來從數據庫中獲取數據作為 json 文件,然后遍歷一個項目(portOn)以找出數組中的哪個端口。 如果它在數組中,則端口為真。</p><pre> var portG01,portG02 = false; const getDevices = async () =&gt; { const response = await fetch(`${API_URL}`); const json = await response.json(); setData(json); for (let i in json) { Object.values(json[i].portOn.split(",")).forEach((value) =&gt; { if (value === "G01") { portG01 = true; } if (value === "G02") { portG02 = true; } }); } };</pre><p> 然后它將像這樣顯示數據作為回報:</p><pre> return ( &lt;div className="container"&gt; &lt;div className="devices"&gt; &lt;div id="portG01"&gt;&lt;/div&gt; &lt;div id="portG02"&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; );</pre><p> 現在我想做的是閃爍每個 TRUE 的 DIV。 如何使用 CSS 實現這一目標? 例如,如果值為 true,則使用以下 CSS:</p><pre> .blink { animation: blinker 1s linear infinite; } @keyframes blinker { 0% { opacity: 0; } 50% { opacity: 0; } }</pre><p> 如果不正確,則遵循另一個 CSS 屬性。 請建議最好的做法是什么?</p></div>

[英]How to BLINK a <DIV> according to database data (json)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 無需設備發送數據即可更新設備遙測 數據更改時閃爍單元格 AngularJS 流星:更新時閃爍數據 在某些設備(主要是 iPhone)中提交后表單不發送數據 如何閃爍<div>根據數據庫數據(json)</div><div id="text_translate"><p> 所以我有這個代碼來從數據庫中獲取數據作為 json 文件,然后遍歷一個項目(portOn)以找出數組中的哪個端口。 如果它在數組中,則端口為真。</p><pre> var portG01,portG02 = false; const getDevices = async () =&gt; { const response = await fetch(`${API_URL}`); const json = await response.json(); setData(json); for (let i in json) { Object.values(json[i].portOn.split(",")).forEach((value) =&gt; { if (value === "G01") { portG01 = true; } if (value === "G02") { portG02 = true; } }); } };</pre><p> 然后它將像這樣顯示數據作為回報:</p><pre> return ( &lt;div className="container"&gt; &lt;div className="devices"&gt; &lt;div id="portG01"&gt;&lt;/div&gt; &lt;div id="portG02"&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; );</pre><p> 現在我想做的是閃爍每個 TRUE 的 DIV。 如何使用 CSS 實現這一目標? 例如,如果值為 true,則使用以下 CSS:</p><pre> .blink { animation: blinker 1s linear infinite; } @keyframes blinker { 0% { opacity: 0; } 50% { opacity: 0; } }</pre><p> 如果不正確,則遵循另一個 CSS 屬性。 請建議最好的做法是什么?</p></div> 將通知發送到特定設備 Firebase 雲消息未發送到設備 Firebase 函數未向設備發送通知 眨眼一個glyphicon 向 Android 設備發送通知。 已發送但未收到
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM