WebからプログラミングができるESP8266モジュールWebduinoが送料込み$5.88で発売開始

先日、Webからプログラミングができる、というWebduinoという商品が台湾のイベントで公開され、下記の様な記事が書かれていました。

Kapperのブログ 新館「簡単Wifi電子工作 Webduino 購入&テスト その1

公式ページ「Webduino
開発元が公開しているプレゼン資料「Webduino 工作坊對不起,哥實作一個 APP 真的只要 30 分鐘
中国語ですが、なんとなく雰囲気はつかめると思います。
英語のチュートリアル」も参考になるでしょう。

2016/11/15追記:「ブラウザプログラミングができるESP8266モジュールのWebduinoを入手して動かしてみた!」にて実際に動かしてみた記事を公開しています。

2016/11/06現在、公式サイトでは購入できる場所として台湾のサイトだけを紹介しています。
が・・・、BananaPiの公式Aliexpressにて「New Arrivals BPI-Webduino smart IOT module development board」という形で販売が開始されました。

$3.50+送料$2.38、計$5.88での販売です。
ただ、使用しているESP8266モジュールがAI Thinker社のものなので、技適を取ってないのが難点です。

Allwinner H5搭載のOrange Pi PC2が$23.13で発売開始

2016/11/07追記

なんか有名どこでOrange Pi PC2がテキトーな解説付きで紹介されているので、警告文を追加しておきます。

Orange Pi PC2のOSは、ラズパイのものとは別です。ラズパイ用のものがそのまま使えるわけではありません。
「Raspberry Piのイメージが使用可能だ」とか書いてる記事ありますが、嘘が混じっています。
Raspberry Pi公式が出しているものを流用しつつKernelを含むドライバ周りを入れ替えたものを使っています。つまり、同じではありません。
ハードウェアを触らないソフトウェアならだいたい動きますが、GPIO接続で外部機器を動かすなんていうと、いろんな障害が出てきます。
まず、kernelが異なるので、バイナリ配布のドライバは使えません。
ソース配布のドライバをコンパイルすれば使える可能性がありますが、kernelのバージョンが異なることでうまく動かない可能性があります。
また、大抵そういうドライバは、ドキュメント類もラズパイ公式向けにカスタマイズされていて、それ以外の環境で使うための手順がわかりにくいような記述になっていることが多いです。
このため、初心者にはとても厳しいです。

Orange Pi PC2で使っているAllwinner H5は、元となるAllwinner A64としてはメインカーネルへの対応が始まったばかりです。
Allwinner H5に至っては、まだ対応も始まっていません。
Linux-sunxi.orgのAllwinner系SoCのメインラインカーネルへの対応状況表)
このため、Linux kernelにバグやセキュリティの問題が発覚した場合に、それがすぐに反映される体制になっていません。
インターネット上にそのまま置くには適しません。

Orange Pi PC2で使っているAllwinner H5は、Allwinner社のSoCで始めてMali-450MPを採用した機種です。元となるAllwinner A64ではMali-400MPを使っていたものがバージョンアップされており、性能面では上がっているはずなのですが、GPUドライバがこなれているかどうかが、現時点ではまったく不明です。性能が発揮されない可能性もあることを留意する必要があります。
(なお、1年ぐらい先行してAmlogic社のS805というSoCでMali-450MPは採用されていますので、ドライバが動かない、ということはないとは思います)

マインクラフトは動きません。
マインクラフト Pi EditionはBroadcomのGPU特化で作られているため、Mali-400機種では動作しません。
マインクラフト Java(Linux版とかいてあるやつ)は、ログインし、アップデートのダウンロードまでは成功しますが、その後のゲーム画面の起動プロセスでIntelアーキテクチャ用のバイナリを読み込み起動できません。(ライブラリのバイナリを差し替えて起動させるスクリプト例や、lwjglライブラリを差し替える例、がありますが、バイナリ差し替えは成功せず、また指定の場所にファイルを置いても自動ダウンロードのファイルを読み込むため起動に成功していません)

以上を考慮した上で、導入を検討してください。


Allwinner H2+搭載のOrange Pi Zeroが発売されたばかりですが、64bitのCortex-A53コアを使ったAllwinner H5を搭載したOrange Pi PC2が販売開始です。

New! Orange Pi PC2 H5 64bit Support the Lubuntu linux and android mini PC Beyond Raspberry Pi 2 Wholesale is available

orangepipc2-1
・Cortex-A53を4コア積んだ「Allwinner H5」を使用
  Pine64で使用しているAllwinner A64の類型
  Jide Remix miniで使っているAllwinner H64との関係性が不明。名称変更されただけ?
・GPUはA64のMali400MP2(2コア)から、Mali450(6コア)にアップグレード
  4K出力向けに強化
・RAM 1GB
・ストレージはmicroSD(オンボードで8MBのSPI Flashがあるが、8MB8Mbitなので・・・)
・1000Mb NIC搭載
・電源はいつものようにEIAJ#2コネクタ(PSPと同じ形状のもの)
・基板のコネクタ配置はOrange Pi PC / Orange Pi PC Plusとほぼ同じ

とりあえず、1個発注してみました。


2016/11/07追記

Orange Pi PC2の角度が異なる斜め配列のチップがあることについて話題のようです。

いろいろ考察してる人がいるようですが、実際のところは、旧機種であるOrange Pi PCと比較すれば一目瞭然。
基板サイズとコネクタ配置をそのままに、SoC変更と追加要素のSPI FlashとNIC PHYチップRTL8211Eを載せるために最小限の変更を行った結果、というやつですね。

Orange Pi PC Orange Pi PC2
Allwinner H3 (Cortex-A7*4コア) Allwinner H5 (Cortex-A53*4コア)
orangepipc-2 orangepipc2-2

2016/11/14追記
届いたので記事を書きました→「Orange Pi PC2が届いたのでAndroidイメージで動かしてみた
現時点ではLinuxイメージはリリースされていません。


Allwinner H5搭載ボード系のリスト

(表へのリンク)

Allwinner H2搭載のOrange Pi Zeroが送料込み$10.10で登場

2016/11/07追記

なんか有名どこでOrange Pi Zeroがテキトーな解説付きで紹介されているので、警告文を追加しておきます。

Orange Pi Zeroは、ラズパイZeroの変わりに使えるモノではありません。

Orange Pi Zeroは、HDMI端子がないのでディスプレイ出力が出来ません。

Orange Pi ZeroのOSは、ラズパイのものとは別です。ラズパイ用のものがそのまま使えるわけではありません。
kernelが異なるので、バイナリ配布のドライバは使えません。
ソース配布のドライバをコンパイルすれば使える可能性がありますが、kernelのバージョンが異なることでうまく動かない可能性があります。

Orange Pi Zeroで使っているAllwinner H3は、Linux kernelのメインラインで完全対応していません。
(徐々に取り入れられていますが、Linux kernel 4.8でもまだ完全ではありません。Linux-sunxi.orgのAllwinner系SoCのメインラインカーネルへの対応状況表)
このため、Linux kernelにバグやセキュリティの問題が発覚した場合に、それがすぐに反映される体制になっていません。
インターネット上にそのまま置くには適しません。

以上を考慮した上で、導入を検討してください。


Orange Piの新製品、Orange Pi Zeroが販売開始です。
New Orange Pi Zero H2 Quad Core Open-source development board beyond Raspberry Pi
orangepizero-1

いままでのOrange Piシリーズからの差分は・・・
・SoCがAllwinner H3Allwinner H2 (より廉価モデルへ)
HDMI削除(シリアルコンソールかコンポジットビデオ出力)
・電源コネクタ廃止。microUSBでの電源供給に変更
・GPIOが26ピンに
・無線LANにAllwinner XR819という初物チップを採用
・PoEに対応。ただし標準設定ではoff

・標準モデル(Standard)はメモリ256MBで、512MBもある、ということなのだが、今回販売されたのはどちらのモデルなのか明記はなし。は+2ドルとなりました。

とりあえず、1個購入してみました。
いつ届くかな・・・そして、メモリは256MB or 512MBどちらかな?
  → 出荷しました連絡があってから、512MB版が販売開始されました・・・クソ

ということで、256MB版は$10.10512MB版は$12.10、ということになりました。

2016/11/11追記:発注から8日で到着し、起動試験などを行いました→「Allwinner H2+搭載のOrange Pi Zeroが来た!


Allwinner H3搭載ボード系のリスト

(表へのリンク)


バッテリーの持ちをはかるのに最適なUSBコネクタの電圧/電流計。しかもQuickCharge3.0対応

USBのモバイルバッテリーがどれくらい持つのかを調べるために最適なものがaliexpressで売っていました。
(その後、届いたので記事を作成しました→「USBバッテリーの実容量を計ってみよう」)

usb-oled-001
OLED 128×64 USB Tester DC voltmeter current voltage Meters Power Bank battery Capacity monitor qc3.0 Phone charger detector」で、いまなら送料と放電用の抵抗がセットになって$12.17と破格のお値段です。
「Product Model:J7-4T」とあります。

QuickCharge3.0の20Vにも対応できる範囲で計測でき、また、バッテリーがいつまで電圧を出していたかの時間計測まで行える機能が付いているようです。(OFF時間計測機能)

同じセラーには「Product Model:J7-T」の「USB tester 3~30V DC Voltmeter ammeter current voltage meters capacity monitor qc2.0 quick charger Battery Power Bank detector」というものが$6.97で売っています。
usb-oled-002

LEDの色が違うだけのように見えますが、いくつか違いがあるようです。
htb18duenvxxxxx1axxxq6xxfxxxm

表示される電圧/電流の桁数が違います。
といっても、小数点以下2桁表示と、小数点以下5桁表示とで、何か変わるかと言えば・・・何もないですけどね・・・
なにせ誤差の範囲ですか

製品ページを見比べると「J7-4T」の方は、モードの説明があり「OFF」と「AO」がある、とありますが、
モードの説明がないだけで「J7-T」のほうにも「OFF」という表示がある写真があります。

・・・あまり違いがないのかもしれない・・・

同じセラーで見かけたおもしろいもの
35W constant current double adjustable electronic load + QC2.0/3.0 triggers quick voltage usb tester voltmeter aging discharge

今度は放電側の抵抗と、自分はQuickCharge3.0対応の機器だと自称するためのUSBボードのセットのようです。
なんとQuickCharge3.0の20V機器として見せかけることが出来る模様。
htb1-9_ikvxxxxabxxxxq6xxfxxxr

後ろにある2つのツマミは、電圧/電流を微調整するためのボリュームです。
なかなか面白い感じですね。

とりあえず、「OLED 128×64 USB Tester DC voltmeter current voltage Meters Power Bank battery Capacity monitor qc3.0 Phone charger detector」の方を買ってみました。
どれくらいで届くかなぁ・・・


セラーのページを見ていたら「High-end computer software online USB tester USB Discharging Load QC2.0/3.0 MTK-PE Trigger Voltage Current Monitor Capacity Test」という、QuickChargeだけでなく、MediaTek Pump Express機器にも対応する電圧/電流測定+電力消費器
こちらは、パソコンに対してUSBシリアルで接続し、専用ソフトを使ってパソコン上に電力消費グラフを作れる、というもの。
htb1rn9ikvxxxxclaxxxq6xxfxxxb

ただ、こちらの機器は、13.5Vまでしか対応していないようで、QuickCharge 3.0の20V機器には非対応となるようだ。

DigiTallyについて調べてみた/overlay SIMが重要なのではなくSMAPsが重要っぽい

2020/09/28 追記

DigiTallyについて述べていた公式サイトが移動していた。もとはKhaled Baqerさんのディレクトリにあったものが、Ross Andersonさんのディレクトリに移動していた。
新しい Computer Laboratoryの DigiTally ページ

いろいろ調べたらKhaled Baqerさんは学生で、Ross Andersonさんが教授だったようだ。Khaled Baqerさん個人ページができていた。

2017年に出た論文「DigiTally: Piloting Offline Payments for Phones

また、日本銀行から「中銀デジタル通貨が現金同等の機能を持つための技術的課題」(2020/07)というレポートの8ページからDigiTallyについて解説されている。

中銀デジタル通貨が現金同等の機能を持つための技術的課題 9ページより

このレポートによればSIMのセキュアエレメントを利用してコードを生成する、とある。そして、上記の図には書かれていないように、センターでの金額管理は行わず、端末個別でのやりとり、となっている。

また、DigiTallyは2017年に試験が行われた、としか書かれておらず、実際に使われた例としての記載ではない。


SIMにシールを貼るだけで電波の届かないところでも携帯で支払いできる技術」という記事があったけど、正直意味がわかんないので調べてみた。

公式ページ「DigiTally」→ https://www.cl.cam.ac.uk/~rja14/DigiTally/
概要紹介スライドpdf」→ https://www.cl.cam.ac.uk/~rja14/DigiTally/docs/DigiTally.pdf

・SIMの上に貼り付けるoverlay SIMとは何をするものなのか?
・どういう場合につかう想定なのか?
・どういう決済の仕組みになっているのか?


・SIMの上に貼り付けるoverlay SIMとは何をするものなのか?
digitally-1
しれっと出てきてる「EMV」は、Europay,MasterCard,VISAで決めたICチップ搭載のクレジットカードの規格のようです。
発展途上国でよく使われているGSM onlyのSIMはバージョンが古く、セキュリティに関する機構が搭載されていないので、SIMを交換しなくても、それを後から提供できるようにしたものが、今回のoverlay SIMではないかと思われます。
NFCのセキュアエレメントみたいなものの役割を果たしているようです。

 

で・・・よく読むと、overlay SIMが重要なのではなく、「SMAPs:Short Message Authentication Protocols」が重要なようです。

・どういう場合につかう想定なのか?
SMAPs(Short Message Authentication procotols)は、携帯電波が不安定でつながりにくく、また、データ通信量も増やせない環境で、如何にして信頼性を保ちつつ、決済を行うか、ということを考えて作られたプロトコルであるようです。

具体的には、SMS(ショートメッセージ)ベースでデータをやりとりすることで、ネットワークの不安定さを回避し、また、確実に相手に届ける、ということを実現するようです。
(GSMのみの途上国では、TCP/IPのデータ通信はパケット料が高額で、また不安定、ということ)

・どういう決済の仕組みになっているのか?
スライド記載の手順を元に日本語化してみました

(1) アリスはDigiTally口座(電子決済口座)に5ドルを入金する
(2) アリスと取引相手であるボブは、お互いの携帯電話を電話帳に登録する(?)
(3) アリスはボブから4ドルの品物を買いたいと伝えます
(4) ボブは自身の携帯の決済アプリに「4(ドル)」と入力し、「決済要求ボタン」を押します。
 (ボブ携帯からアプリがDigiTallyセンターにSMSで暗号化されている決済要求のメッセージを送る)
(5) ボブは、携帯の決済アプリに表示されている8桁の決済コード1をアリスに伝えます
(6) アリスは自身の携帯の決済アプリに「4(ドル)」と「8桁の決済コード1」を入力し、「決済承認ボタン」を押します。
 (アリス携帯からアプリがDigiTallyセンターにSMSで暗号化されている決済承認のメッセージを送る)
(7) アリスは、携帯の決済アプリに表示されている8桁の決済コード2をボブに伝えます
(8) ボブは自身の携帯の決済アプリに「8桁の決済コード2」を入力し、「決済完了ボタン」を押します。
 (ボブ携帯からアプリがDigiTallyセンターにSMSで暗号化されている決済完了のメッセージを送る)
(9) アリスのDigiTally口座から4ドルが引かれ1ドルになり、ボブのDigiTally口座に4ドルが足されます
(10) 決済完了ログが、アリスとボブの携帯に届きます。
 (DigiTallyセンターから、アリスとボブの携帯にSMSで決済完了ログを送る)

とても手動な感じで行うようです。
なお、上記のSMS送信ポイントは、想像が入ってます。

いろいろ文献を読むと、(4)と(6)と(8)のSMS送信に関しては遅延しても良いような実装、
つまりSMSの送信については携帯に搭載された決済アプリで再送制御を行うようです。

(4),(6),(8)のSMSがDigiTallyセンターに全部届いた時点で、決済が完了し(10)が行われるようなのですが
決済完了を確認する前に物品引き渡して、その後、決済不成立、ってことが発生しそうなんだけど
それをどうやって回避できるのかが読み取れなかった・・・