Group Details Private

administrators

  • RE: i2cを使用するクラスの複数インスタンス生成について

    getI2CWithConfigは,引数の中にi2cが入っていればそのままそちらのi2cインスタンスを返します。

    https://github.com/obniz/obniz/blob/master/src/obniz/ObnizComponents.ts#L321

    パーツライブラリがwiredされる前に作成し、それを引数で渡すことでひとつのi2cを複数パーツで共用できます

    const i2c = obniz.getFreeI2C();
    i2c.start({mode:"master", sda:0, scl:1, clock:400000}); 
    
    const p1 = obniz.wired("xxxx", {i2c : i2c});
    const p2 = obniz.wired("xxxx", {i2c : i2c});
    
    posted in Technical Support
  • RE: 1秒間のwaitを挿入したい。

    awaitはasync functionの中でしか使うことができません。
    そちらが入っているかご確認ください。

    ただ、Unexpected token ')' なので別の部分デーエラーが出ている可能性があります。

    プログラム全体を記載いただければより具体的な藩士ができるかもしれません

    posted in Beginner Questions/Discussion
  • RE: 1秒間のwaitを挿入したい。

    await obniz.wait(1000) で1秒のwaitになります

    https://obniz.com/ja/doc/reference/common/wait-and-loop

    posted in Beginner Questions/Discussion
  • RE: iBS01Tの挙動につきまして

    これらはobnizのしようというよりはBLEの仕様になります。

    センサーは3ch持ち、そのうちどれか1つを利用してデータを送出する(ch指定はできない)

    はい、そうです。

    Obnizはセンサーの3chのうちどれか特定のchからしかデータを受信しない(ch指定はできない)

    はい、そうです。
    瞬間的にはいずれか1chのみの受信となります。

    Obnizが受信するセンサーのchは変化しない(使うchはセンサー毎で固定?)

    いいえ、こちらは時間とともに(ミリ秒単位で)変化します。
    切り替えが高速なため、長い時間を通してみるとすべてのチャンネルをスキャンしている状態になります。

    全体的に、BLEのアドは100%の受信はきないかもしれないという前提のもと、何度かアドを出したりすることで受信確率を上げていくことになります。
    (BLEに限らずwifiも同じで、wifiの場合は失敗したときの再送のアルゴリズム等が組み込まれています)

    BLEの場合で、確実性を求めるのであれば、コネクションを張る という行為がそれに該当します。コネクションを張っていただければ、再送等のアルゴリズムが適用され、確実な通信が可能となります。
    ※そのかわりに、1:1通信になるため別の目的が果たせなくなる可能性があります。

    アドのままで受信確率を上げる場合には、送信頻度を高めることで100%ではないものの、実用的な受信確率にすることができます。

    1/3の受信確率であるならば、3倍のアド頻度であれば目的が果たされるだろう、安全率をとってさらに2倍にして合計6倍のアド頻度を設定しておこう という考え方になります。

    posted in Technical Support
  • RE: obnizアプリクラウド実行時のcanvasフォントの適用の不具合について

    クラウド実行時にフォントが読み込めていないと思われます。

    実際に実行してみたところ、フォントの読み込みが遅延するために、ctx.font関数を呼び出したときにはまだフォントデータが存在していないようです。
    通常はキャッシュが有効になってるために読み込みの遅延が起きず、リロードするとあるように見えますが、キャッシュなしのリロードを行うと再現します。

    スクリーンショット_2021-04-07_11_37_06.png

    描画前にフォントを読み込むためにはいくつか方法があります。

    • <script>タグよりも上に書かれたHTML上でそのフォントを使用する(ブラウザがこの時点でフォント読み込むまで待機します)

    • フォントのロードを監視してロード完了きっかけに描画を開始する

    • JavaScript上でフォントをロードするようにし、それが完了したときに描画を開始する

    これらを試してみたていただければと思います

    posted in Question and Troubles
  • RE: 1-Wire

    obnizの現在の公式サポートでは1 Wireはサポートされていません。

    おっしゃるとおり、プラグインを使えば実装は可能です。

    また、パーツライブラリの対応であれば、obnizjsの話となりますので、github上でpull-reqをすればそちらのリストに追加されます。

    ※ただし、作られたプラグインOSが前提のライブラリはまだ取り込んだことがありませんので、1wire用のプラグインOSと、それを前提したobnizjsを作られた場合はどうなるかは現段階では不明です。

    posted in Technical Support
  • RE: 照度センサ PT550について

    PT550は明るい/暗いをざっくりと知ることができますが、正確なluxを知ることは難易度が高いです。

    luxを正確に知りたい場合は2jcieやuprism、linkingあたりをおすすめします。

    https://obniz.com/ja/sdk/parts/2jcie/README.md

    https://obniz.com/ja/sdk/parts/uprism/README.md

    https://obniz.com/ja/sdk/parts/linking/README.md

    posted in Technical Support
  • RE: スマホからobniz駆動方法教えて

    プログラム画面はこちらになります

    http://obniz.com/console/program

    こちらの画面が開けていれば、あとはプログラムが間違ってる可能性が高いですので、
    プログラムを記載いただければより詳しくサポートできるかと思います。

    posted in Question and Troubles
  • RE: BLE MIDI機器としてiPadと接続する際の問題について

    iOSのペアリング一覧は、過去ペアリングしたことがある危機一覧で、最初1回ペアリングするまでは出てこなかったと思います。

    もしかしたら、descripterの問題ではなくて、接続後にペアリングしたい!とiPadからobnizへ要求が来ているが、うまく対応できていなくて切断、となっているのかもしれません。

    posted in Technical Support
  • RE: iBS01Tの挙動につきまして

    @JUNICHI-MASUKO さん

    ・丸め誤差

    演算結果に丸め誤差が出るのはJavaScriptとしての仕様となり、obnizjsでは特別な対応をしておりません。
    特定の桁数での数字が必要な場合は取得した数字をもとに変換いただければと思います。

    ・複数受信

    一般的にadvertisementは一度だけ出すということは少なく、受信側が読み取れないことも踏まえて何度か出すことが多くなっています。そのため、duplicate:trueの場合はいくつかのアドが同時に来たように見えることがあります。
    onfindにてフィルタリングを行うか、duplicate:falseをご検討ください。

    ・バッテリー値

    ibs01のドキュメント上、外部給電していたとしてもそちらの値は変化しないようですので、あくまでバッテリーの値となります。

    ・データ受信数に差がある

    周辺BLEの環境や、タイミング等によって受信できない場合があります。

    • obnizデバイスはwifiとBLEのアンテナが共有となり、wifiを使っている間は受信できない
    • BLEのアドは3chあるため、1/3の確率でしか受信できない
      などの要素があります。
    posted in Technical Support