読者です 読者をやめる 読者になる 読者になる

ブログ

クソブログ

オーバーウォッチ: 短編アニメーション"The Last Bastion"

www.youtube.com

 

(T T)

 

Beaglebone Green の Wi-Fi 設定 (Debian Jessie on SD card)

IoT Beaglebone

SDカード運用

BeagleBoard.org - latest-images

から Jessie for BeagleBone via microSD card をダウンロードしてddなりWin32DiskImagerなりでマイクロSDカードに書き込んで、BBGに刺してブートするとSDカードのJessieで起動できる。ここまではOK。

オンボードのeMMCはなるべく使いたくない。SDカードなら読み書きできなくなるまで使い果たしたら交換すればいいけど、eMMCはそうはいかない。けどeMMCをそこまで追い込んだことは今まで一度も無い。誰かやったことあるんだろうか?

Wi-Fi設定でハマる

BBGにWLI-UC-GNM2を刺すと自動認識してwlan0インターフェースが生成される。あいかわらず凄まじい発熱だ。ところで、熱は状態量ではない。熱はエネルギー移動の一形態で、温度で割ればエントロピーという状態量になる。エントロピーに関して、温度は積分分母である。熱力学第二法則によれば(以下五千文字省略)。

Jessie用のWi-Fi設定はconnmanでやれ、と/etc/network/interfacesに書いてある。

# WiFi use: -> connmanctl

よって、そのへんを調べながら以下のようにやってみた。

root@bbbg0001:~# connmanctl
Error getting VPN connections: The name net.connman.vpn was not provided by any

VPNがどうのこうの言ってるがどうでもいい。 

問題は次。

connmanctl> scan wifi

を実行しても、何も起こらずに一瞬でコマンド入力待ちになる。本来なら少し時間がかかってAccess Pointsを探すはずなのに。案の定、

connmanctl> services

 

 と、何も表示されない。確か一ヶ月前くらいにここで諦めてwpa_supplicant.confを人力で編集するという鬼畜の所業に手を染めた。

再挑戦

さっきまた同じようにscanが失敗して鬼畜の道に身を落としかけていた所、以下が見つかった。

Re: [beagleboard] How to configure wpa_supplicant.conf to get wifi work?

8月10日のメールアーカイブで、3日前のものである。

答えは、scanの前に

#connmanctl> tether wifi disable
Disabled tethering for wifi

を行うというものだった。こんなもん自力で気づかん。これをやると

connmanctl> scan wifi
Scan completed for wifi

となって、アクセスポイントのscanに成功して、以下のようになる。

connmanctl> services
wireless-hell-bg wifi_XXXXXXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY_managed_psk

私のAPの素敵なSSID名がちゃんと表示された。SSIDを隠す意味は何も無いので晒す。

接続しようと

connmanctl> agent on
Agent registered
connmanctl> connect wireless-hell-bg
Error 'connect': Invalid argument

で失敗。connectの引数はSSID名ではなく、servicesで表示された右側の長い識別名であった。こっちの安全性は不明なので隠す。

connmanctl> connect wifi_XXXXXXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY_managed_psk
Agent RequestInput wifi_XXXXXXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY_managed_psk
Passphrase = [ Type=psk, Requirement=mandatory, Alternates=[ WPS ] ]
WPS = [ Type=wpspin, Requirement=alternate ]
Passphrase? XXXXXXXXXXXXX

入力したパスフレーズが思いっきり画面上に表示される鬼畜仕様なので、周囲に人が居ないのを確かめてからやりましょう。これでAPに接続完了。

まとめ

テザリングがデフォルトでONというのはなかなか鬼畜だ。

ERRA - Dementia

www.youtube.com

これは凄い。

大昔にDream Theaterを初めて聞いた時以上の衝撃を受けた。

Youtubeコメントより

I couldnt hit that high note if you grabbed me by my dick and ripped it off

(意訳)チン○掴まれて引っこ抜かれてもあんな高い声出ねえだろう

まとめ

ERRA凄い。

Beaglebone Green Wireless (BBGW)

IoT Electronics Beaglebone

Beaglebone GreenにWi-FiとBLEが実装された (BBGW)

販売ページは以下

www.seeedstudio.com

スペック比較テーブルの、無線とUSBの赤字の部分に注目。

詳細スペックは以下。

Beaglebone green wireless - Wiki

USBホストポートが4つに

これまで、BeagleboneシリーズはUSBホストポートが一つしか無いというのが謎の伝統として受け継がれてきましたが、BBGWでとうとうUSBホストポートが4個になり、Pi陣営に並びました。「Beaglebone?USBホストポートが一つしかない可哀想なあれ?www」と嘲笑されることが無くなることでしょう。

無線機能

2.4GHzのWi-FiとBLEという定番の構成で、人類の天敵であるTELECの認証もすでに取得しているようです。

価格

$44.9と、BBB($45)とほぼ同額に抑えられています。日本では7000円程度で小売りされることになるでしょうか。

Pi3と単純に比べると高いですが、BBGWには

  • 2つの外部アンテナポート
  • 4GByteのeMMC
  • PRU(programmable real-time unit)
  • TCP/IP over USBの通信機能
  • 2つのGroveコネクタ

オンボードで実装されていることを考えると、Pi3を買うより遥かにお得でしょう。

タクトスイッチ位置の変更

BBGと比べると、各種タクトスイッチの位置が変わってしまったのが残念です。Beagleboneシリーズでケースの互換性はありません。

なお、タクトスイッチのひとつのUserボタンで、Wi-Fiのアクセスポイントモードとステーション(クライアント)モードを切り替えることができるようです。

電源ボタン、リセットボタンもあり、Piと比べると真剣に実用性を視野に入れた設計思想がかいま見えます。

アイディアコンテスト

6月6日まで開催されているアイディアコンテストで優秀な成績を残すと金賞20人がタダでBBGWをもらえて、銀賞100人が$20のクーポンを貰えるようですよ。

http://cc.seeed.cc/topic_detail.html?id=5559

良いアイディアが120個も集まるわけがないので、愚にもつかない応募作でもクーポンゲットは簡単かも。

まとめ

注文した。

Learning the Art of Electronics A Hands-On Lab Course がとうとう出るらしい

Electronics Books

The art of electronics という本

artofelectronics.net

数学を衒学的に使って読者を威圧するような電子工学の本は腐るほどありますが、この本は主に(数学的には高度に洗練されている)物理の学生向けに、そういう虚仮威しの数学を極力排除して電子工学の本当に役立つ技だけを伝えようという方針で編まれたものです。第二版が1990年ごろ出て高い評価を得ていましたが、その第三版がようやく去年出版されて、これも高い評価を得ています。

A Hands-On Lab Course

The Art of Electronics 第二版では、The Art of Electronics Student Manualという副読本が出版されており、ハーバード大学の電子工学の実践講義のテキストとして広く利用されてきました。

www.amazon.co.jp

それの、第三版に対応するものとして、Learning the Art of Electronics: A Hands-On Lab Course という本がもうすぐ出ます。

Learning the Art of Electronics | by Thomas C. Hayes with Paul Horowitz

1200ページというボリュームで、Student Manualの約二倍です。The Art of Electronics 第三版を買った人は買って損はない内容だと思います。

Bookdepositoryがやっぱり安い

www.bookdepository.com

予約段階の現在ではやはりここが安いです。現時点でAmazonで7043円、Bookdepositoryで5740円です。本の輸送段階で若干の物理的ダメージはあるかもしれないけど、安くて確実に早く届くので私は今回もBookdepositoryで予約しました。円安で洋書が軒並み高額になっているので、こういう店は有り難いです。

 

正月によく落ちるXively

IoT Sensor Raspberry Pi

また落ちてますね。

f:id:XX-Prime:20160106212338p:plain

M2Xは健在

お隣の某民主主義人民共和国が水爆実験をやったとやらで大気中の放射性物質が気になる所ですが、私はXivelyとM2Xの両方に放射線センサの(同一)データを上げているのでM2Xでは確認することができました。

f:id:XX-Prime:20160106212923p:plain

UTCなので+9時間して見る必要がありますが、一日分見ても特に異常な変動は無いので安心して良いと思います。政治的には大変ですが。

Xivelyにだけデータを上げている方は複数クラウドの同時利用をお勧めします。

参考のために、raspberry piからXivelyとM2Xの両方に放射線データを上げるrubyスクリプトを以下に記します。
xively-m2x.rb

#!/usr/bin/ruby

require 'xively-rb'
require "time"
require "m2x"

APIKEY = "YOUR_XIVELY_API_KEY"
FEEDID = "YOUR_XIVELY_FEEDID"

M2X_API_KEY="YOUR_M2X_API_KEY"
M2X_DEVICE="YOUR_M2X_DEVICE"

FIFO_PATH = '/var/lib/rasdiation/rasdiation.fifo'

def put_data(client, feedid, channel, value)
  datapoint = Xively::Datapoint.new(:at => Time.now, :value => "#{value}")
  client.post("/v2/feeds/#{feedid}/datastreams/#{channel}/datapoints", :body => {:datapoints => [datapoint]}.to_json)
end

radiation = nil
radiation_error = nil
radiation_cpm = nil

# Read from rasdiation fifo
# UnixTime,1420256802,CPM,2.350000,uSv/h,0.044313,uSv/h_Error,0.006464 etc.
File.open FIFO_PATH do |file|
  l = file.read
  arr = l.split(",")
  radiation_cpm = arr[3].to_f
  radiation = arr[5].to_f
  radiation_error = arr[7].to_f
end

# try uploading to Xively
begin
  c = Xively::Client.new(APIKEY)
  p c
  unless radiation.nil? && radiation_error.nil?
    res1 = put_data(c, FEEDID, "z_radiation_cpm", radiation_cpm)
    res2 = put_data(c, FEEDID, "z_radiation", radiation)
    res3 = put_data(c, FEEDID, "z_radiation_error", radiation_error)
    # for debug
    #p res1
    #p res2
    #p res3
  end
rescue => ex
  p "Xively Error"
  p ex
end

# try uploading to m2x
begin
  m2x = M2X::Client.new(M2X_API_KEY)

  device = m2x.device(M2X_DEVICE)
  device.create_stream("radiation_uSv_per_hour")
  #device.create_stream("radiation_CPM")
  device.create_stream("radiation_Error_uSv_per_hour")

  now = Time.now.iso8601

  values = {
    radiation_uSv_per_hour: [ { value: radiation, timestamp: now } ],
    #radiation_CPM: [ { value: radiation_cpm, timestamp: now } ],
    radiation_Error_uSv_per_hour: [ { value: radiation_error, timestamp: now } ]
  }

  res = device.post_updates(values: values)
rescue => ex
  p "M2X Error"
  p ex
end

放射線センサの接続と使用は以下を参考にしてください。
xx-prime.hatenablog.com

まとめ

政治がらみの事をちょっと書こうなどと画策して恥ずかしくなって諦めた結果がこのありさまだよ。

UDOO Neo

Electronics IoT Arduino Raspberry Pi Sensor

UDOO Neoとは

Raspberry PiとArduinoの機能を併せ持ち、更に無線および有線LAN、Bluetooth4.0、加速度センサを搭載した名刺カードサイズのボードコンピュータです。

www.udoo.org

今年の4月ごろにKickstarterで投資したのがちゃんとモノになって送られてきました。素晴らしい。

 

外観

RpiとArduinoのハイブリッドそのものです。

f:id:XX-Prime:20151109193255j:plain

 

パッケージ

パッケージの紙箱の内部が解説図になっているという素敵仕様。

f:id:XX-Prime:20151109193843j:plain

図を見て分かる通り、右上のチップがBluetoothWi-Fiを同時に司るものです。で、実際のチップの表面を良く見ると・・・。

 

Blutooth/Wi-Fi チップ

f:id:XX-Prime:20151109193602j:plain

反射して見難いのですが、左の真ん中当たりにTELECの認証マークがあります。表面の型番を読み取ると、WL18 MODGBと書いてあります。下の方にはテキサスインスツルメンツのロゴもあります。写真で白飛びしてるあたり。

 

一応確認

www.tele.soumu.go.jp

上のページで型番WL18を検索してみると

f:id:XX-Prime:20151109200330p:plain

ありました。チップレベルで設計認証が取れているということは、チップを分解したりアンテナをつけたりしない限り日本国内で使用しても問題無いのではないかと思います。

 

まとめ

UDOO Neoを日本国内で使用しても、総務省に雇われた殺し屋に狙われる可能性は低そうです。

(ただし使用は自己責任でね。)