2015/08/18

Edison ngrokを使ったWebサーバー(IoT)

Edsionを用いたWebサーバー(IoT)構築についての投稿です。

・Edisonってなに?
切手orSDサイズのコンピューターでございます。Linux Yoctoと呼ばれるOSが載っています。

・IoTってなに?
Internet of thingsの略。室内温度・湿度のモニタ、エアコンのスイッチ、室内照明などをネットから操作できるようにする技術の総称だと思ってください。
外出先で「今日は猛暑だ…家に着く前にエアコン入れれたらなぁ…」を叶えるアイテムです。
正確には、Internet of thingsの略の通り、エアコンなどの「アイテムをネットに繋ぐ行為」を指します。

・要は何するの?
先ほど述べた「今日は猛暑だ…家に着く前にエアコン入れれたらなぁ…」をEdisonと呼ばれる切手サイズのコンピューターで叶えます。

本題に入ります。


こちら、Edisonで御座います。切手サイズの本体はボード中の写真で見て奥側になります。
このボードはEdisonをarduinoというものとして使えるようにするボードになります。

まずは、以下のページを参考にローカルでサーバーを立ち上げます。
http://edison-lab.jp/blog/2015/03/lets-make-edison-led-server.html
(最終閲覧日:2015/08/18)

ローカルでのサーバー立ち上げまではそこまで難しく無いと思います。

次に、インターネットにサーバーを公開する方法ですが、通常は固定IPというものを取得する必要があります。ですが、お金が掛かる場合も多く面倒であるので、ngrokというサービスを使用します。このサービスについて記述されている日本人サイトは現在の所多くありません。

下記のサイトを参考に、ngrokの登録と、downloadを行います。
http://netbuffalo.doorblog.jp/archives/4974284.html
(最終閲覧日:2015/08/18)
ここで注意しなければならないのは、Linux 32bitをdownloadします。32bitでないバーションを使用した場合、状況に依りますが、
/bin/ngrok: line 1: syntax error: unexpected "&" (expecting ")")
といったエラーが以降の項目で発生するでしょう。

それでは、downloadしたngrok 32bitをEdisonにinstallしていきます。
ngrokをコマンドで動作するようにするためには、Ediosn内の /bin に入れる必要があります。

edisonのファイルシステムは通常では、USB接続しているPCにマウントされておらず、PC側からedisonの中を探しても/binにはたどり着けません。そのため、マウントを行います。
Edisonのコマンド上で、
# rmmod g_multi
# mkdir /update
# losetup -o 8192 /dev/loop0 /dev/disk/by-partlabel/update
# mount /dev/loop0 /update
# ls /update
とそれぞれ行ってみてください。

参考:USB Gadget Mass Storage image location
https://communities.intel.com/thread/55520
(最終閲覧日:2015/08/18)

# ls /update を行うと、
root@Edison:~# ls /update
$RECYCLE.BIN                edison_ifwi-dbg-05-dfu.bin
edison-image-edison.ext4    edison_ifwi-dbg-05.bin
edison-image-edison.hddimg  edison_ifwi-dbg-06-dfu.bin
edison_dnx_fwr.bin          edison_ifwi-dbg-06.bin
edison_dnx_osr.bin          filter-dfu-out.js
edison_ifwi-dbg-00-dfu.bin  flashall.bat
edison_ifwi-dbg-00.bin      flashall.sh
edison_ifwi-dbg-01-dfu.bin  ngrok
edison_ifwi-dbg-01.bin      ota_update.scr
edison_ifwi-dbg-02-dfu.bin  package-list.txt
edison_ifwi-dbg-02.bin      pft-config-edison.xml
edison_ifwi-dbg-03-dfu.bin  u-boot-edison.bin
edison_ifwi-dbg-03.bin      u-boot-edison.img
edison_ifwi-dbg-04-dfu.bin  u-boot-envs
edison_ifwi-dbg-04.bin
などと表示されるでしょう。これはusb接続しているディレクトリそのものです。ここに、ngrokファイルを入れておきます。

それでは、ngrokを/binに移動すれば、終わりですが、
write error: No space left on device
等とエラーが出て移動できないと思います。
これは起動時にEdisonのディレクトリがいっぱいになってしまうのが原因らしいです。
参考:Edisonへ書き込み出来ない [ write error: No space left on device ]
http://nonnoise.github.io/Edison/Setup/NoSpace.html
(最終閲覧日:2015/08/18)

# du -sh /var/log/journal/*
# mv /update/ngrok /bin
と行えば移動できるでしょう。
# ls /bin
で確認してみてください。

それでは、ngrokを起動します。
# ngrok http 80
とコマンドすれば、
ngrok by @inconshreveable                                       (Ctrl+C to quit)
                                                                                
Tunnel Status                 online                                            
Version                       2.0.19/2.0.19                                     
Web Interface                 http://127.0.0.1:4040                             
Forwarding                    http://c6e9d181.ngrok.io -> localhost:80          
Forwarding                    https://c6e9d181.ngrok.io -> localhost:80         
                                                                                
Connections                   ttl     opn     rt1     rt5     p50     p90       
                              0       0       0.00    0.00    0.00    0.00      
                                                                           
などと表示されるでしょう。
ここでは、http://c6e9d181.ngrok.io がアドレスになります。アドレスは適宜変更できます。

これで、自分のEdisonサーバーが世界に公開されます。
是非、挑戦してみてください。

文責 @murenezumi

2015/01/06

去年の水ロケットを振り返って

あけましておめでとうございます。
今年もどうぞよろしくお願いします。
さて、とりあえず去年作った水ロケットを振り返ってみようと思って、動画を作ることにしたのはいいのですが、(1/11追記:できました。最後に載せておきます。)よく考えたら、ほとんどこっちにデータを残してないなと思い、とりあえず高度データの画像だけでも残しておこうかと。



100mって意外と高いです。 この100mに唯一到達できる二段式の信頼性がそこまでないので、分離部の設計を少し変えてもっと成功できるようなロケットに仕上げたいなと思います。

あとは、写真だけど、一番映える写真はダブルタンク単段式でした。
※2014年9月8日、記録がほとんどダブルタンクと変わらなかったトリプルタンクロケット


 二段式のものもあることにはありますが・・・

※2014年10月5日、112mの自己最高記録の発射直後のコマから


上の二つの写真、動画から取り出したものだから、そんなに画質が良くないってのもあるけど、背景は大事なようだ。
本気で撮影するなら、動画と別でカメラで撮るべきかもな。

結論:水ロケットは青空が重要っぽい。

まとめ動画

2014/12/17

IGBT200Vアンプの製作

おはようございます。
dominoさんの作成されたIGBTアンプを見て、「自分も作る作る」と言っておきながら早一月半。
先日ヤフオクで360Vの電源を購入したこともあって、ようやく作成しました。

が、なかなか音が出ず……完徹し、日の出とともにようやく完成w
しかも何故かさらに一晩おくと音が良くなる不思議。


ファンの音?がたまにうるさいので視聴にはご注意ください。
使用したのは秋月のIGBTです。
 アップしたのは200V20mAの4Wですが、その後最大 330V33mAまで出た後、石はご臨終なされましたw
実は製作中にもゲート寄生振動防止抵抗を外してしまったせいか一度死んでるので、計2個死んでますw

今度は電源部の作成も行ってみたいと思います。
回路図等いろいろ教えていただいたdominoさん、MFTでアドバイスをいただいた皆さんに心よりの感謝を。

2014/09/23

UART制御の7セグLED表示治具の作成

先日から作っていた、7セグ表示治具が完成しました。
とはいっても、回路構成はこちらの本そのままですw

秋月で買ってきた2桁7セグLEDのピン配置が分からず、それを調べることから始めました。
というか、7セグ周りの配線が一番めんどかったw
いや、一番大変だったのは部品揃えるために何故か秋葉原まで3回も往復する羽目に
なったことかw

プログラムも上記の本掲載そのまま、16進数を数えるプログラムです。
ハードは問題なかったのにプログラムは細々とミスがありましたがw何とか無事動きました。

次はドットマトリクスの表示です。

↓動いてる様子


2014/09/22

はじめまして。

はじめまして。
東京に住んでるbigbenというものです。
今年29のおっさんですw
電子工作は本当の初心者、基本は本のモノマネです。
なのに無線メーカーに居るというこの不思議。

少しでも会社の仕事を覚えたいという思いもあり、
ちょこちょこ時間を見つけて色々手を出しています。

今やりたいのはdsPIC関連の勉強と、それ用の治具作成です。
最終的には高周波、無線関連や、DDSなどにも手を出してみたいと思っています。
 作りたいものはたくさんありますが、中々知識が足らず…日々勉強です。

以上、つたない文章ですが、よろしくお願いいたします。

twitterは@bigbenbigbenでやっています。よろしくです。

2014/08/03

近況報告です

近況報告です。
Twitterでも言っていた通り、この前まで隣の某国に研修しに行ってました。

目的は太陽発電についての実験、考察でしたが、まぁ…個人でやった事前学習の方でかなり知識をつけられたと思いますw

さて、日本に帰って来ましたら…母親に実験道具を処分されていました…
テスターや半田などの工具、コンデンサやサイリスタなど、値段の高いものは救出しましたが、他の抵抗やスイッチ、導線などは捨てられました…

もう泣くに泣けない…のですが、
ここから新しく始めようと思います。ぶっちゃけ最近、方向性を見失っていた感があったので。

さて、これからの主な課題は
・多重オーグメントレールガンの早期製作
・太陽熱を用いたリアクター製作
です。

後者はTwitter上の海苔巻氏のアイデアなので、偉そうには言えませんし、大事にやっていきたいと思います。
また、先述の研修で学んだことを活かしたいと考えています。

両者とも、細かい進捗状況はTwitterに投稿する予定です。
写真なしのつまらない長文、失礼しました。
ではノシ

2014/07/24

電動荷台制作中01

「domino|ω・´。)ノ」さんにしか話していない・・・かと思われるのですが、実は僕、今「電動荷台(仮名)」を作っているのです。

電動荷台のコンセプト。
1.一定な距離を保ちながら自動的についてくる。
2.比較的重いものも運べる。


1.に関しては、荷台を使う人が超音波をパルスで出し、荷台が左右のセンサーで受信し、方向をつかみ、そして距離センサーで一定な距離を保つ予定です。
2.に関してはマブチモーター540を使う予定だったけれど、バッテリーがそんなに電流を流せない事が発覚して、未定になりました  OTL


2.が未定なのですが、とりあえずちっちゃいモーターで動作確認程度ができるまで放置します。それ以外は大体回路図も、配置も決まっているので。


という訳で、今回受信側のアナログ回路(センサの出力⇒増幅⇒デジタル化)作っていきたいと思います。(3日かかりました。仕事遅いです。)


①まず基板に部品を置く。
・半分







・全部








②はんだ付けする
・写真の撮り忘れ
③アナログの-と+と中間以外の配線完了




 









 今回はこんなところです。それではまた!