DE10-Nano その2

Web上に転がってる資料がみんなQuartus IIのものでQuartus Primeになってしまった今、微妙にいろんなところが違ってしんどいんだけどめげずに頑張っていきたい

名前は聞いたことあったけど使ったことはなかったIPを使ってみる

一番簡単そうなところでPLLがIPとしてまとまってるらしいので使ってみる

f:id:misodengaku:20170905021455p:plain

Tools => IP catalogでIP catalogを表示させてPLLで検索するとAltera PLLが出てくるのでクリック

f:id:misodengaku:20170905021710p:plain

適当にケツにpllとでも名付ける

f:id:misodengaku:20170905021812p:plain

パラメータを変えてく、変えるべきところはReference Clock FrequencyとDesired Frequencyぐらいだけど50MHz入れたらなんか1MHz強ぐらいまでしか落とせなかったのでとりあえず10MHzを作ってあとは手で回していくことにする。

ついでにEnable locked output portとかいうののチェックを外してみたけど別にどっちでも良さそう、何もわからん

もういいわとなったらFinishをクリックでコードが生成される

f:id:misodengaku:20170905022123p:plain

生成されたコードがプロジェクトに勝手に追加されたかどうかは忘れたけどされてなければする

で、実際に生成されたコードを呼びだそうと思ったけどここがよくわからなくて、結局は雰囲気でこんなコードを書いた

生成されたIPと自分のコードを紐付けるところがよくわからなかったんだけど、要は普通のCとかと一緒で、

module pll (
        input  wire  refclk,   //  refclk.clk
        input  wire  rst,      //   reset.reset
        output wire  outclk_0  // outclk0.clk
    );

こんなモジュールを使いたいときはこう呼ぶ

wire clk0;
pll pll_0(clk_50, , clk0);

これでclk0にPLLから出てきた10MHzのパルスが流れるっぽい。

Cとかと違って指定しなければ未配線になるだけっぽいのでRSTとか知らねえよ的なピンがあったらガンガン無視していくといいっぽいことがわかった。

ところで

ここまで奮闘してきたけどよく見てみたらDE10-NanoのUser Manual見るとかなり丁寧なチュートリアルが載ってるっぽい。

www.terasic.com.tw

このままむやみやたらと殴り合っても勝てる気がしないので今後はUser Manualの通り進めていこうと思います。おわり

DE10-Nanoを買った

15380円でDigikeyからDE10-Nano Kitを買った。

www.digikey.jp

DE0-Nanoとかとどれが良いんだろうと思いながら悩んでいたけど結局一番新しそうな物を選んだ。

https://www.digikey.jp/product-detail/ja/terasic-inc/P0496/P0496-ND/6817231

PYNQとかもいいなと思ったけどなんとなくQuartusを使ったことがあったのでAlteraに。

f:id:misodengaku:20170831213814p:plain

ピン多すぎてなんだこりゃと言いながらLEDをパカパカさせるコードを書いてとりあえず動かしてはみたものの、どうやらSoC側のLinuxが勝手に上がってきたりして制御を持って行かれるらしくよくわからんことになってる。

めんどくさそうなのでLinux側触りたくないけど触らざるを得ない感じだし、最終的にはLinux側と繋げたいからこそSoC乗ってるボードを選んだのでなんとか上手く付き合っていきたい気持ち

NVR500のNTT向けOEM品Biz Box N500に関する情報

ACアダプタなし品を安く買えたのでメモ書き

NVR500のファームは食えない

型番違うって言われて蹴られる(実験済み)

けどtelnetで入ったらnetvolante関連コマンドも叩けるしそんな困らない気もする

ファームウェアのbinファイル眺めてたらなんとなくヘッダの構造見えてきたので頑張ればわけわからんファーム食わせることも可能なんだろうか

ACアダプタ

ヤマハ純正のACアダプタはバカ高くて買う気にならない

RT58iやWLX302に付属しているACアダプタが同等品らしいのでACアダプタ付きRT58iあたりを安価に購入できればそれでよさそう、ただRT58iもまだ需要があるらしく激安価で買うのは厳しそう

自分が手元で試した感じではどうやらNVR500/N500に適合するプラグはEIAJ#4っぽい、偶然手元にあったAterm WG600HPかなんかのACアダプタがまさにそれだったので試しに使ってみているが快調に動作している

f:id:misodengaku:20170423212925j:plain

というわけでNVR500/N500向けのACアダプタを安価に調達したければ

  • 家の中とかハードオフ辺りに転がっているACアダプタの中から適合するものを見つけ出す
  • ヤフオク辺りでゴミみたいな値段で売ってるACアダプタ付きのRT58iを買う
  • 秋月辺りで12V 1~2A出力ぐらいのACアダプタ+EIAJ#4への変換プラグとかケーブルを買う

などが考えられる(以上はおすすめ順)

さくらのIoT Platformでパトライトを光らせる

この投稿は さくらインターネット Advent Calendar 2016 の 15日目の記事です。

パトライト時代の到来

今、パトライト社製の積層信号灯(以下パトライト)が空前の大ブームです。ネットワークやサーバーなどの真面目な監視からパカパカ付けたり消したりするだけの面白半分までありとあらゆる場面でパトライトが活躍しています。

パトライトを持たせて喜ぶ我々のような人種がパトライトを見てまず考えるのは「自分でプログラムを書いて好き勝手パトライトを付けたり消したりしたい」とかそういった類のことでしょう。パトライト社もそういった需要に応えるべくEthernetでLANに接続し、TCPなどで操作が可能なパトライトを製造、販売しています。しかし、Ethernetコントローラーの載ったパトライトの販売価格は数万円もし、個人が面白半分で買うのには敷居が高い商品となっています。

一方、Ethernetコントローラーや点灯に必要な回路を含まない積層信号灯のみの部品であれば6000円強で購入することが出来ます。

www.monotaro.com

ということは、点灯に必要な回路とEthernetコントローラーなどの遠隔操作に必要なインターフェースが載ったハードウェアをある程度安価に製作できれば、既製品を買うより大幅に安く、またおもちゃとしては既製品より遙かに優れたパトライトが手に入ることになります。

これらの目的を達成するためのハードウェアとしてまず始めに思い浮かぶのがRaspberry Piでしょう。しかしパトライトを制御するのには少々冗長で、おまけにハードウェアとしての安定性もいまいち(1ヶ月連続稼働させたらmicroSDが物理的に破壊されるなど)です。

Ethernet喋れるマイコンどっかから持ってくるかな、めんどくさいなー等と考えていたところ、ちょうどその辺にさくらのIoT Platformのαモジュール(以下さくらの通信モジュール)が転がっており、せっかくならということでこれに適当なマイコンをくっつけて3G回線経由で遠隔操作可能なパトライトを製作することとしました。

iot.sakura.ad.jp

目標

「さくらの通信モジュール経由で遠隔操作可能なパトライトを点滅させるハードウェアの製作」が大きな目標となります。これを大まかに分けると

の製作が必要となります。

ハードウェア

f:id:misodengaku:20160602164535j:plain まずパトライトですが、LCE-302A-RYGをAmazonで購入しました。この記事の執筆時点ではモノタロウで買った方が安いのでそちらが良いでしょう。

余談ですがLCEシリーズは2017年9月で生産終了予定だそうです。後継機種はLR4型とのことですが実物を持っていないため今回の回路が使用できるかは不明です。

マイコンの選定ですが、使った経験があり安心感があることからSTM32を用いることとしました。具体的には秋月でチップ単体が販売されていることからSTM32F303K8T6を使用します。 変換基板を用いればユニバーサル基板でも作れますが、せっかくなのでEAGLEでプリント基板の設計もすることにします。

さくらの通信モジュールとの接続にはUART,SPI,I2Cを使うことができますがなんとなくI2Cを使うことに。とはいえなんか事故ったら嫌だしどうせプリント基板作るのでSPIとかも出来るだけ配線していく方針。

電源が少々曲者で、通信モジュールが5V、STM32が3.3V、パトライト本体が24Vを必要とします。 この中でダルいのはもちろん24Vで、12Vぐらいならその辺に転がっていがちだけど24Vは・・・ 選択肢としては24VのACアダプタで24Vを取ってきて5Vと3.3Vを作るか、5Vあたりから昇圧して24Vにするかの2つがありました。 後者はその辺によくある5V電源を利用することができるのですが、いかんせん昇圧DCDCコンバータが微妙に値が張る割にいまいちパッとせず、それならいくら新規に購入することになるとはいえ 24VのACアダプタを新たに買った方が安く上がりそうだということで24V給電→回路上で5Vと3.3Vを作る方針にしました。

ファームウェア

以前Nucleoにmbed IDEコンパイルしたバイナリを書き込んでさくらの通信モジュールを使おうとしたところ、何をどうやってもI2Cでは接続できず、SPIで接続すると動くなどの大変怪しい挙動をしたので開発環境としてのmbedは使わない方針に。素直にSTM32CubeMXでコード生成することにしました(CubeMXが素直かどうかは議論の余地がありますが・・・)。 まああとはHALでI2C叩いていくだけです。ファームウェアのソースはGithubに置いてあります。

github.com

基板

f:id:misodengaku:20161123210642j:plain EAGLEで回路を書き、Fusion PCBで発注しました。 Fusion PCBでは注文フォームにガーバービューワーが付いており、ちゃんと書き出せたかどうか注文前に見ることができたのでプリント基板を発注するのが初めての私でも安心して注文できました。

送料込みで$16.03なのでちゃんと設計する手間を考えたとしてもユニバーサル基板でチマチマやってるのがバカらしく感じるお値段ですが、一番安い国際郵便で送ったため注文が11/2、到着が11/23だったので丸3週間かかりました。まあここは金を積めば早くなる?はずなのでケチるのが悪いのですが・・・ 肝心の基板の質ですが、そもそも大したことない回路なので大満足です。シルクがかすれ気味でしたがまあどうせ自分しか組まないし・・・

完成

f:id:misodengaku:20161203182304j:plain いろいろな過程をすっ飛ばして完成図です。部品買う段になって急遽使う部品を変えたりした結果わけわからないことになりましたがひとまず動いているようです。 f:id:misodengaku:20161212211911j:plain 何をするでもなくオフィスにパトライトを放置していたところいつの間にか「出勤」「在宅勤務」「退勤」とダンボールが貼り付けられていました

おしまい

f:id:misodengaku:20161215205649j:plain なんだかまとまらなくなってしまいましたがさくらのIoT Platform βに対応した新バージョンを発送するぜ!というメールがついさっきElecrowから来たのでその時しっかり書きたい

実行するだけでMellanoxのNICのドライバが入る危険なスクリプト

Gentoo以外では安全かもしれないです

Gentoo + linux 4.8.10な環境で危険なことを確認しています

curl https://gist.githubusercontent.com/misodengaku/7334c3e449d36533feed1a6f13c05fe1/raw/5d41e1040430576b534b2898293532b376f7d1b4/mlx4.sh | sh などとすると特に危険です

快適ネッツ

f:id:misodengaku:20161017015753p:plain

こういったものや

f:id:misodengaku:20161017015807p:plain

こういったものを

f:id:misodengaku:20161017015820p:plain

違法っぽい感じで繋ぐと

f:id:misodengaku:20161017015905p:plain

お手軽で楽しい

1ペア3600円ちょい+忘れたけど送料2000円ぐらいでNIC1ペア2枚

www.ebay.com

わけのわからんSFP+2発で送料込み5000円

www.ebay.com

ファイバーは貰ったのでタダだけどまあ誤差として10000円強で快適ネッツ

BIGLOBE NINJA SIM レビュー

CROSS2016に参加した際BIGLOBEさんに「レビューしてくれればデータ通信用SIMあげる」と言われたのでレビューです。

ninjasim.jp

雑感

数日前にXperia Z5を輸入し(E6653なので技適通過済、為念)、それ以来メイン端末の回線として数日使ったといった具合です。

私自身MVNOな回線をメインとして使うのは初めてなのですが、現時点での印象としては「これなら使える」です。

ちょうど数ヶ月後に解約月が控えているためMVNOな回線もいいなぁと思っていたところなのですが思っていた以上に安定しているのでこれなら大丈夫という印象を受けました。

価格

3GBで4500円って高くないか?と思ったのですがそもそも最近よく見る毎月いくらの格安SIMとは異なりプリペイドSIMであることを忘れていました。

ちょろっと調べたらプリペイドSIMの中では安い方でした。完全に申し訳ない。

月額おいくらのSIMだったらこっちですね。

おまけ

f:id:misodengaku:20160226233913p:plain

NINJAという名前やおまけで入っていた折り紙での手裏剣の折り方マニュアル(折り紙付き)から察するに海外旅行客がターゲットの商品のようです。

ホテルとか空港の両替店で販売しているらしいので便利そうです。余談ですが昨年末イギリスに行ったとき、日本を出発前にオーダーしておいたプリペイドSIMは結局イギリスを発つまで届かず受け取れませんでした。どうなったんだろうあの郵便物

おわり

f:id:misodengaku:20160226234843p:plain

f:id:misodengaku:20160226235047p:plain

100MBぐらい差があるのはZ5到着前に別の機器で流していたためです。

実質4日間で700MB弱、初期のアプリアップデートとかやって多少多めに使ったと思われるので残り2週間で2GBならちょうど使い切りぐらいかなと思われます。

// 使い切ったらまた書くかも