ポートフォリオっぽいもの

takuwz a.k.a. つくばの友利奈緒ポートフォリオっぽいものです。

 

ぽ仕事ください

彼女と仕事を募集していますので、随時ご連絡ください。

彼女募集の自己アピールとしては、料理好きで掃除好きです。

シェアハウスで腕前を鍛えています。
仕事募集の自己アピールとしては、

プログラミング(C/C++, C#, python, ruby)や回路設計ができます。

何かありましたら、コメントなりtwitterなりご連絡ください。

 

 

めぼしい履歴
  • 2017年

- SDR(Software Defined Radio)環境構築とFFTの動作確認

技術書典3(10/22(日)@秋葉原UDK)に参加予定です - takuwz's diary

 

- 植物用太陽電池LED点灯装置の量産試作(50個ほど)

f:id:takuwz:20170424071300j:plain

 

- 植物用太陽電池LED点灯装置の試作

f:id:takuwz:20170130090411j:plain

光で天敵を集め、害虫を減らす技術を開発 | 農研機構

  • 2016年

- 適合するコネクタの探索と発注、作成

f:id:takuwz:20160912234803j:plain

回路に型番が書いてなかったので大変でした。

作るのも、細かくて良い経験になりました。

あとArduinoのプログラムの作成もあった気がする。

 

  • 2015年

上半期はハッカソンに参加したり、下半期はギーつくに力を入れてた。

 

  • 2014年

- ベルト型モバイルバッテリー

GUGEN2014無事出展できました - takuwz's diary

 

 

関連リンク

takurx · GitHub

【ギーつく住人ゆる募】つくばの友利奈緒 (@takuzirra) | Twitter

  • hatena blog

takuwz's diary

  • hatena diary(旧ブログ)

あほうどりはどこまでも飛べるか?

  • 微博 (id: takuwb)

https://www.weibo.com/u/6020306082

続き・トラ技2018/1月号で紹介されてるGPS-SDR-SIMを試す

前回の続きです。

トラ技2018/1月号で紹介されてるGPS-SDR-SIMを試す途中 - takuwz's diary

 

減衰器とDCブロックがミニサーキットヨコハマから届きました。やったぜ。

なので進めていく。(今考えると千石とか秋葉原で売ってそうな気がしてきた。いや探すの大変だしなあ。)

 

bladeRF-cliMacportsでインストール済みだったのだけど、

bladeRF> set frequecy 1575.42M

Error: Command requires FPGA to be loaded

のエラーになってしまう。

 

bladeRF> info

すると

FPGA loaded: none

になっていた。

 

Nuand | bladeRF Software Defined Radio

より、hostedx40-latest.rbfをダウンロードする。

 

https://github.com/Nuand/bladeRF/wiki/Getting-Started:-Verifying-Basic-Device-Operation#loading-the-fpga

より、FPGAfirmwareをloadする。

コマンドライン上か

$ baldeRF-cli -l hostedx40-latest.rbf

$ bladeRF-cli -i

した後のインタラクティブモードで

bladeRF> load fpga hostedx40-latest.rbf

のどちらかのコマンドを実行する。

 

chino@kafu $ baldeRF-cli -L hostedx40-latest.rbf

Writing FPGA to flash for autoloading...

[INFO @ usb.c:498] Erasing 55 blocks starting at block 4

[INFO @ usb.c:503] Erased block 58

[INFO @ usb.c:511] Done erasing 55 blocks

[INFO @ usb.c:705] Writing 1 pages starting at page 1024

[INFO @ usb.c:709] Writign page 1024

[INFO @ usb.c:718] Done writing 1 pages

[INFO @ usb.c:705] Writing 4656 pages stating at page 1025

[INFO @ usb.c:709] Writing page 5680

[INFO @ usb.c:718] Done writing 4656 pages

[INFO @ flash.c:110] Verifying 1 pages, stating at page 1024

[INFO @ usb.c:603] Reading 1 pages starting at page 1024

[INFO @ usb.c:606] Reading page 1024

[INFO @ usb.c:617] Done reading 1024

[INFO @ flash.c:110] Verifying 4656 pages, stating at page 1025

[INFO @ usb.c:603] Reading 4656 pages stating at page 1025

[INFO @ usb.c:606] Reading page 5680

[INFO @ usb.c:617] Done reading 4656 pages

Done.

 

これでもういちど

bladeRF> info

したが

FPGA loaded: none

になっていた。

 

なのでもう一方の、

bladeRF> load fpga hostedx40-latest.rbf

をしたところ、

 

  Loading fpga from hostedx40-latest.rbf...

[INFO @ version_compat.c:125] FPGA version (v0.7.1) is newer than entries in libbladeRF's compatibility table. Please update libbladeRF if problem arise.

  Done.

 

となった。

なので、libbladeRFをupdateする。

Macportsでインストールしたので、

Macportsをupdateする。

MacPortsでインストールしたものを最新版にアップデートする方法 | その他 | DoRuby

より、

chino@kafu $ sudo port selfupdate

したところ、エラーになってしまう。

Error: Current platform "darwin 17" does not match expected platform "darwin 16"

 

OS X El Capitan にアップデートした際に MacPorts を動くようにする - Qiita

と同様のエラーなので、

同じようにMacPortsを再インストールする。

 

chino@kafu $ xcode-select --install

chino@kafu $ sudo xcodebuild -license

 

The MacPorts Project -- Download & Installation

より、対応するMacPortsをインストール。

 

Migration – MacPorts

を参考に進める。

 

chino@kafu $ port -qv installed > myports.txt

chino@kafu $ port echo requested | cut -d ' ' -f 1 > requested.txt

chino@kafu $ sudo port -f uninstall installed

chino@kafu $ sudo rm -rf /opt/local/var/macports/build/*

chino@kafu $ curl --location --remote-name https://github.com/macports/macports-contrib/raw/master/restore_ports/restore_ports.tcl
chino@kafu $ chmod +x restore_ports.tcl
chino@kafu $ sudo ./restore_ports.tcl myports.txt

 

py27-cairoでエラーになる。

Error: Failed to activate py27-cairo: Image error: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cairo/__init__.pyc already exists and does not belong to a registered port. Unable to activate port py27-cairo. Use 'port -f activate py27-cairo' to force the activation.
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-cairo/py27-cairo/main.log for details.

 

関係なさそうなので、とりあえず進める。

chino@kafu $ sudo port unsetrequested installed
chino@kafu $ xargs sudo port setrequested < requested.txt
Error: Registry error: gnuradio not registered as installed.

GPS-SDR-SIMと関係ないけど、GNU Radioを使うために、あとで

$ sudo port install gnuradio

しました。py27-cairoもインストールされた。)

 

あとはトラ技2018/01号通り。(set txvga1 -25は誤植だと思う。)

ハードウェアを接続して、

前回、生成したgpssim.binを使用する。

 

chino@kafu $ bladeRF-cli -i

bladeRF> set frequency 1575.42M

bladeRF> set samplerate 2.6M

bladeRF> set bandwidth 2.5M

bladeRF> set txvga1 -25

bladeRF> tx config file=gpssim.bin format=bin

bladeRF> tx start

 

GPS-SDR-SIM - Software-Defined GPS Signal Simulator - KitPloit - PenTest Tools for your Security Arsenal ☣

> bladeRF-cli -s bladerf.script

でも良いはず。

ublox LEA-4Tを使用してu-centerで測位しました。

 

 

 

ublox LEA-4Tを久々に動かしたので、

ボーレート(9600bpsだった)とか忘れてたり、

Windows10でのハマりポイントで

comポートとして認識されず、

センサとして認識されてしまう件とか、

blog.goo.ne.jp

バイスマーネージャーで

センサー>u-blox GNSS Location Sensorを右クリックして、

ドライバーソフトウェアの更新

コンピュータを参照してドライバーソフトウェアを検索を選択、

コンピュータ上のデバイスドライバーの一覧から選択

USBシリアルデバイスを選択

(するとcomポートとして認識できて、

u-centerや他のGNSSソフトでNMEAを受信できる。)

Rawデータが出てたのか文字化けしてて、

NMEAが出てなかったので設定をdefalutに戻したりとかしました。

GPS/GNSS設定方法(u-blox編) - (株)農業情報設計社

5)設定画面の表示

メニューバーの「View->Configuration View (Ctrl+F9)」を選択し、設定画面を表示します。

 (この設定画面のうち、defalutに戻す項目がある。)

 

 

 

 

 

 物理受信機を用意しなくても、BladeRFのtxとrxをつないでgps-sdr-libとgnss-sdrlibでloopback testができる可能性。後で試す。

 

 

 

 

 

 その他、

 

 

 

【課題】SDR(Software Defined Radio, ソフトウェア無線)ができると何が嬉しいのか

僕のソフトウェア受信機は最強なんだ。

f:id:takuwz:20180111183123j:plain

技術書典3(10/22(日)@秋葉原UDK)に参加予定です - takuwz's diary

と前回の技術書典で頒布したわけですが、

この技術は難しいわりに、

何に使えるのか?何がうれしいのか?が伝わらないのです……。

RFとA/D部分をのぞいて、全部ソフトウェアで動いているのすごくね?では伝わらないので。←すごいと思うんだけど。

 

前回の技術書典ではスペクトルアナライザの代わりに使ってみましたが、

この技術の本当のおもしろさはそこではありません。

 

実際のところ、すごい未来を感じるわりに応用例は少ないです。

通信機の試作などのプロトタイピングに使っていると思います。

 

GitHub - osqzss/gps-sdr-sim: Software-Defined GPS Signal Simulator

トラ技2018/01号でも紹介されたGPSシミュレータとか。

 

ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015

この例ではBluetoothの通信をロギングして解析したり、

航空機用の通信のADS-B形式の偽の信号を生成したりしています。

 

いやいや、ソフトウェアCPUを乗せたFPGA

Web上からpythonで書き換えることができるようになっているし、

もっとすごいことができるはずでしょと思うので、

応用を考えています。

 

google homeamazon echoなどのAIスピーカーも音声信号を取って、解析して、答えを出すのは広義のSDRだよなーとか。

たぶん、ソフトウェア無線は機械学習の応用例の一つになるのではないかと。

周波数や信号形式を自由に変えることができるので、

暗号通信にしてもワンタイムパスワードみたいな通信ができるのではないかと。

そして真のCognitive Radio(認知無線)を実現できないかと。

いや、知的アンテナとかがいるのか?

 

ソフトウェア無線はオープンな無線になり得るか? | Altera - SDJ JP

ソフトウェア無線 (SDR) は、次なる目玉として期待され、控え室で待機するうちに、すでに白髪交じりのベテランの域に達しています。軍用無線、電子妨害手段、小型セル基地局への展開が一部に見られるものの、大きく開花するチャンスをうかがったまま、素晴らしいアイデアの状態で止まっています。

 

https://www.ituaj.jp/wp-content/uploads/2017/11/2017_11-05-Spot-SDR.pdf

NTTの研究所で ソフトウェア無線機のプロトタイプを私が初めて目にした 1990年代後半から既に20年が経過したが、ソフトウェア無 線機がハードウェア無線機を駆逐してしまったという話は 未だ聞かない。むしろその逆で、ソフトウェア無線の普及は 2017年になった今でもまだ道半ばという状況である。では 何がその妨げになっているのか。SDRを普及させるには、 何がその妨げになっているのかをきちんと見極め、一つ一つ 取り除いていく必要がある。

 

Intel搭載のIoT向けワイヤレスマルチツール: パート1

 

あとは実現に向けた課題です。

 

これまでの歴史と課題のその辺りを技術書典4あたりで、サーベイしてまとめて出したいという思いです。

メモ_2017/12/31

クリスマスキャロル、後で読む。

クリスマスキャロル - チャールズ・ディケンズ :: Egoistic Romanticist

 

UTokyo English Academia、後でやる。

utokyo-ea.com

このFMラジオの受信フローの解説がめっちゃわかりやすい。

wireless-square.com動かした感じ、下記を修正した受信フローよりデコードが良い。

GNU RadioでFMラジオ受信機を作ってみる - ももいろテクノロジー

【アズールレーン】鏡写されし異色ドロップ途中経過

鏡写されし異色(12/26(Tue.)-1/12(Fri.))

  • ティルピッツ
  • グラーフ・ツェペリン
  • Z46(B4, D4, 建造)
  • アドミラル・ヒッパー
  • ドイッチェラント(B1, B4, C3, C4, D1, D4)
  • シャルンホルスト
  • グナイゼナウ(B2, D2, D3, D4)
  • Z19
  • Z20
  • Z21

期間限定建造(大型建造、12/26(Tue.)-1/12(Fri.))

 

周回していくか。。。

 

参考

【アズールレーン】イベント「鏡写されし異色」攻略とドロップ | アズールレーン(アズレン)攻略wiki | 神ゲー攻略

pythonのif文と文字列検索、そしてファイル操作

よく忘れるので。

Cの{}とrubyのthenとこんがらがるとです。。。

これでよくコマンドプロンプト

chino@kafu $ python search.py > test.txt

とかリダイレクトしてファイル操作します。

 

■if文

if a > 0:

    hogehoge1

else:

    hogehoge2

 

■fine

b = string.find("hogehoge")    #-1は見つからず、1以上は見つかった場合

 

file open, find string and print(standard output)

 

 

 

■参考:

Python基礎講座(8 分岐) - Qiita

Pythonでファイルから一行ずつ読み込み - Qiita

技術書典3の収支報告 〜次は夜は焼肉っしょー!の前に頒布済数をメモします〜

遅くなりましたが、技術書典3の収支報告を。

 

技術書典3(10/22(日)@秋葉原UDK)に参加予定です - takuwz's diary

 

■頒布物仔細

コピー本 20ページ

発行部数:20+16部

(頒布済:31部、サークル提出:1部、献本:1部、見本:1部、残り:2部)

 

■支出

7000円:サークル参加費(個人)

430円:キンコーズ(PCレンタルと原稿20ページ)

   ↑家かコンビニで原稿を印刷して行った方が良いですね。

1760円:20部+最初20ページ(A3で印刷してしまう痛恨のミス)

1440円:16部追加印刷

支出計:10630円

 

■収入

9300円:頒布済31冊x300

120円:ステッカー等

収入計:9420円

 

収支計:▲1210円

 

オワタ\(^o^)/ウェーイで

だいたい微黒ぐらいだろうって収支計算ほっぽってたら微赤だったw。

部数の記憶が微妙なんだけど、領収書的にはこうなっているし、

次はちゃんと忘れないうちに計算した方が良いですね。

 

費用面だけを考えると、

見本だけ印刷して、電子頒布が良さそう。

コピー本で白黒だとグラフが潰れてしまうし。

見本とA4の紙一枚(ダウンロード用リンクが書いてある)

で頒布しているところもあって、

これならほとんど費用かからないなーと思った。

まあでも、本にしてみたいというのもなくもなくもなく。て迷う。

コピー本だと1部単価100円未満なので(ページ数による)

気軽に印刷しちゃっても良い気もする。

電子頒布なら、Googleドライブの共有リンクでも良いし、

より厳密にするなら自転車創業さんとこの対面電書とかおもしろそうだったり。

taimen.jp

技術書典4も出られると良いですね。

 

 

 

これすき。

takanakahiko.hatenablog.com