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

JH1LHVの雑記帳

和文電信好きなアマチュア無線家の雑記帳

ARM ボード STM32F103C8T6 (Black Pill) で L チカ

最近人気の ARM Coretex-M3 を搭載した安価なボードの STM32F103C8 ですが。

Arduino IDE でも動かせるようなので、さっそく試してみました。

 

www.aliexpress.com

 

ARM の CPU が載って @200 という激安なので、5個又は10個のまとめ買いもありだと思います。 

ただ、STM32F103C8 には幾つかの種類(ピルボード)があるので注文する時に注意が必要です。

 

f:id:JH1LHV:20170129115328j:plain

AliExpress で ”STM32” で検索すると Blue Pill (写真、一番上)が数多くヒットしますが、

このボードには USB 周りに不具合があるようでチップ抵抗の交換が必要なようです。

 

ということもあり、わたしは最新バージョンの「Black Pill」というボードを選択しています。

 

f:id:JH1LHV:20170129120115j:plain

Black Pill と Blue Pill は、PCB の色、ジャンパピン、リセット SW の位置で見分けられます。
(写真は Black Pill)

 

この後の、環境設定や動作確認については、この Black Pill を使って話しを進めていきます。

Black Pill - STM32duino wiki

 

@200 と激安にもかかわらず、製品にはピンヘッダも付属してきます。

f:id:JH1LHV:20170130200231j:plain

ブレッドボードなどの環境に合わせてロングピンソケットを使うのもありですが、

わたしは付属のピンヘッダだけで間に合わせました。

(ただしこのピンヘッダ。ハンダの乗りがすこぶる悪くて・・・ホント参りました。。。)

 

また、STM32F103C8T6 の型番の読みかたですが、

  • C = 48 pins
  • 8 = 64Kbytes of Flash memory
  • T = LQFP パッケージ
  • 6 = -40〜85°C

をあらわしているようです。

 

STM32F103C8 - Mainstream Performance line, ARM Cortex-M3 MCU with 64 Kbytes Flash, 72 MHz CPU, motor control, USB and CAN - STMicroelectronics

 

f:id:JH1LHV:20170130001328j:plain

 

Arduino UNO と比較してみましたが。。。 

- STM32F103C8T6 (Black Pill) Arduino UNO
マイコンチップ ARM 32 Cortex-M3 CPU ATmega328P
Flash 64KB 32KB
RAM 20KB 2KB
動作クロック 72MHz 16MHz
動作電圧 2.0-3.6V 5V
価格 約200円 約3,000円(秋月電子)

 

Black Pill と Arduino IDE の主要スペックを並べましたが・・・ARM Coretex-M3 と AVR の 328 を比べるのもねぇ~って感じです。

 

Arduino IDE で開発するため、ブートローダを書き込みます。

 

現ボードでは Arduino IDE からブートローダは焼けないので少し面倒な作業が必要ですが、

ここの チュートリアル通りに作業を進めればブートローダは簡単に書き込めます。

 

ブートローダは UART と ST-Link を使った2つの方法で書き込めますが、

わたしは USB シリアル変換モジュールを使った UART で書き込みを行いました。

 

1. ブートローダをダウンロード

 

https://github.com/rogerclarkmelbourne/STM32duino-bootloader/raw/master/STM32F1/binaries/generic_boot20_pb12.bin

f:id:JH1LHV:20170130204403j:plain

 

上記の URL から「generic_boot20_pb12.bin」をダウンロードします。  

 

また、下の GitHub にも STM32duino-bootloader として多数のバイナリが登録されています。

github.com

 

f:id:JH1LHV:20170130205918j:plain

http://STM32duino-bootloader

 

今回の Black Pill のユーザ LED は PB12 なので、

書き込むブートローダは「generic_boot20_pb12.bin」を選択します。

 

f:id:JH1LHV:20170130210730j:plain

http://wiki.stm32duino.com/images/5/52/Black_Pill_Schematic.pdf

 

2. BOOT ジャンパの設定

 

BOOT 0 BOOT 1 MODE
      1
B0+ to center pin
     0
B1- to center pin
シリアルブートローダを起動
      0
B0- to center pin
     0
B1- to center pin 
通常時、FLASH BOOT

 

ブートローダを書き込むため、ジャンパを「シリアルブートローダを起動」に設定します。

 

f:id:JH1LHV:20170130214436j:plain

B0+ to center pin、B1- to center pin

 

3. Black Pill と USB シリアル変換モジュールを接続

 

Black Pill USB シリアル
RX PA9
TX PA10
GND G
3.3V V3

 

f:id:JH1LHV:20170130215606j:plain

ジャンパワイヤだけで直接接続です。

 

4. リセットボタンを押下すると、ユーザ LED(青色)が消灯します。

 

5. ブートローダ書き込みソフト「FLASHER-STM32」をインストールします。

下記のURLから書き込みソフトをダウンロードします。 

www.st.com

 

f:id:JH1LHV:20170130220538j:plain

 

en.flasher-stm32.zip を解凍して Demonstrator GUI をインストールします。

 

6. ブートローダを書き込みます。 

f:id:JH1LHV:20170130221927j:plain

Download from file に「generic_boot20_pb12.bin」を指定します。

 

7.  BOOT ジャンパの設定を「通常、FLASH BOOT」にします。

 

f:id:JH1LHV:20170130214502j:plain

B0- to center pin、B1 はそのまま。

 

Arduino IDE の設定

 

設定方法については下記のウェブに詳しく書かれています。

github.com

 

1. Arduino SAM Boards(Cortex-M3環境)を導入します。

ツール → ボード → Board Manager を選択して、
Arduino SAM Boards (32-bits ARM Coretex-M3) by Arduino を選択してインストールします。

f:id:JH1LHV:20170130223505j:plain

 

2. Arduino-STM32 パッケージを導入します。

https://github.com/rogerclarkmelbourne/Arduino_STM32/archive/master.zip

このパッケージをダウンロードして展開します。

展開してできた「Arduino_STM32-master」フォルダを、

フォルダごと Arduino IDE の「hardware」フォルダの配下に移動します。  

 

Arduino IDE のサンプルスケッチで L チカする

 

スケッチ例から Blink を選択して出力ピンを PB12 に変更します。

(Black Pill のユーザ LED が PB12 のため)

 

f:id:JH1LHV:20170127214240j:plain

PB1 を PB12 に変更します。 

 

 f:id:JH1LHV:20170127213704j:plain

ボードの設定です。

 

f:id:JH1LHV:20170127211043j:plain

書き込み実行時のステータス。 

 

f:id:JH1LHV:20170127210846j:plain

青色のLEDが点滅しました。 

 

以上です。

 

※記事の追加情報、修正は適宜行うこととします。

 

 

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村 

 


アマチュア無線 ブログランキングへ 

 

Google の「リアルタイム翻訳」で英語の取説を翻訳させてみた

Google の新機能「リアルタイム翻訳」が SNS で話題になっていたので、今日はこのお話です。

 

Google の「リアルタイム翻訳」を使うと、

スマホのカメラで映した文字を瞬時に日本語に翻訳してくれるのですが。。。

 

f:id:JH1LHV:20170126202643p:plain   f:id:JH1LHV:20170126202650p:plain

 

さて、どのくらいの精度で翻訳できるでしょうか。

 

デジタルオシロ DSO138 に付いてきた英語の説明書の一部をリアルタイムで翻訳してみました。

f:id:JH1LHV:20170126210802j:plain

説明書(page 3)の一部です。

 

f:id:JH1LHV:20170126211926p:plain

ということで、残念ながら意味不明です。。。

 

オシロスコープの説明書ということもあり専門的な用語は多いと思いますが、

それにしても誤訳というか・・・日本語になってませんね。。。

 

今のところ英語だけがリアルタイム翻訳の対象ではありますが、普通のモードで翻訳した方が精度は高いように思います。

 

Google のことですから、ホント近い内に意味が分かる程度には翻訳精度は向上すると思いますが、

AliExpress で中華パーツ等を大人買いしている私としては、

英語よりも中国語のリアルタイム翻訳を期待しているところです。

 

何が書いてあるのか分からないまま眠っている中国語の取説・・・これ、なんとか理解したいんですよ。。。

 

まぁこの Google 「リアルタイム翻訳」ですが。

今後の動向に注意しながら、バージョンアップがあればすぐに試していきたいと思います。

 

今回は期待してただけに・・・残念です。

 

 

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村 

 


アマチュア無線 ブログランキングへ 

 

半田ごて、正規品と模倣品を比べてみた

国内某有名メーカの半田ごて(ステーションタイプ)、正規品と模倣品を比べてみました。

 

f:id:JH1LHV:20170124192326j:plain

上:正規品、下:模倣品

パッと見だと、ほぼ一緒です。

 

f:id:JH1LHV:20170124192738j:plain

正規品には「LOCK」の文字が施されています。(これがないのが偽物です!)

 

f:id:JH1LHV:20170124194812j:plain

正規品は、ロック部の爪がしっかりしています。

 → スリーブをコネクタ側に差し込んだ時に「カチッ」と音がして確実に装着できます。

模倣品は、ロック部の作りが最悪です。

 → スリーブを数回抜き差ししただけで、爪が甘くなりユルユルに。

 

f:id:JH1LHV:20170124194704j:plain

模倣品のケーブル保護カバー、材質が最悪ですぐにボロボロになりそう。

 

f:id:JH1LHV:20170124194939j:plain

中をあけて比べてみると・・・その品質の違いがはっきりわかります。

 

f:id:JH1LHV:20170124195149j:plain

これ、正規品です。

 

f:id:JH1LHV:20170124195214j:plain

うわっ...模倣品って最悪!(接点金具のバネ弱く、ハンダ処理は汚く、結束バンドもなし、etc...)

 

中華モノは安いからと、こんな粗悪品を購入すると・・・

すぐダメになって使えなくなるし。。。それこそ、火事にでもなったら最悪です。。。

 

それにしても、模倣品ってもっと精巧で見分けがつかないと思ってたんだけど、これは酷いですね。

正規品と並べて比べるまでもなく、すぐに偽物って気づくと思います。

 

ただ安いからと、こんな模倣品は絶対に買っちゃダメです!

 

やっぱ、日本製は最高だし・・・最初から正規品を購入すべきと私は思います。

 

 

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村 

 


アマチュア無線 ブログランキングへ 

 

トラ技2月号の付録基板「π duino」を作ってみた

トラ技に付いてくる付録の基板ですが。

これ、組み立てないことには特集記事が無駄になってしまいますよね。 

f:id:JH1LHV:20170122174347j:plain

ということで、

特集記事を気持ちよく読み進めるために・・・付録基板にパーツを実装してみました。

 

まずは製作に必要なパーツ集めから。

f:id:JH1LHV:20170122173645j:plain

http://toragi.cqpub.co.jp/Portals/0/support/2017/201702/h1.pdf

 

Raspberry Pi Zero で使いたかったので、Zero に必要なパーツを中心に基板に実装することに。

 

手持ちがなかった、

  • 「GROVEコネクタ」は 、スイッチサイエンスから購入です。

    f:id:JH1LHV:20170121152325j:plain
    注文して翌々日に到着という迅速対応に加えて、
    送料が150円という安さでこの丁寧な梱包とは・・・神対応に驚きです。

  • 「テスト・プローブ」は、aitendo から購入です。

    f:id:JH1LHV:20170122145646j:plain
    記事中のパーツリストと同品ではありませんが、
    この aitendo のテストプローブ [AKI-P50D2]で代用できます。

 

パーツが揃ったらあとはハンダ付けするだけです。

f:id:JH1LHV:20170122181743j:plain

Arduino で使用できるようにシリアル伝送用のピン・ヘッダも取り付けました。

 

ATmega328P にブートローダを書き込みます。

f:id:JH1LHV:20170122125818j:plain

この AVR ISP シールド 使うのって、ホント久しぶりです。

 

f:id:JH1LHV:20170122183140j:plain

Arduino 単体の動作は、Lチカして確認します。 

π duino 側 シリアル・モジュール
+5V +5V
RX RX
TX TX
GND GND

π duino とパソコンはシリアル・モジュールで接続して、Arduino IDE でスケッチを書き込みます。

 

そして、最後に Raspberry Pi Zero を取り付けるのですが・・・ 

f:id:JH1LHV:20170122161207j:plain

40ピン拡張コネクタに取り付けているピン・ヘッダの足が短くて・・・

このままでは π duino に取り付けられません。。。

 

この π duino のためだけに、ピン・ヘッダを交換するのもねぇ~

ということで、

f:id:JH1LHV:20170122164920j:plain

とりあえず、ジャンパ線(オス-メス)を使って間に合わせることに。

 

・・・で、今日はここまでです。

 

π duino も組み立てたことだし、

これから Arduino と Raspberry Pi の合体で得られる凄さとやらを、

トラ技の特集ページを捲りながら体験していこうかと思っております。

 

 

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村 

 


アマチュア無線 ブログランキングへ 

 

マイコンの Wifi 電波を遮断してみた ~その2~

先日の続きです。

 

電波遮断ポーチを持っている人・・・わたしの周りには誰もいなかったので。。。

結局 Amazon で買っちゃいました。

 

f:id:JH1LHV:20170118201631j:plain

この手の商品って使用環境で大きく差が出るので・・・商品名の掲示は控えますね。

 

f:id:JH1LHV:20170118202651j:plain

iPhone7 がいい感じに収まるくらいの大きさです。(19×10×1cm)

これを使うとスマホの電波を完全に遮断できるそうです。(ホント?)  

 

f:id:JH1LHV:20170118202945j:plain

マジックテープで止めるだけという、ごくごく普通のポーチです。 

 

f:id:JH1LHV:20170118203408j:plain

袋の内側は特殊な金属素材なので導通します。(表面はナイロンです。)

マイコン基板がショートしないように注意が必要です。 

 

f:id:JH1LHV:20170117212712j:plain

なので、ビニル袋で基板を保護してからポーチに入れます。

 

f:id:JH1LHV:20170117212734j:plain

こんな感じに、すっぽり被せます。

 

f:id:JH1LHV:20170117212815j:plain

ポーチの脇の隙間から電源用の USB ケーブルだけを出します。

(アルミホイルでケーブルをシールドすればよかったかな。。。)

 

f:id:JH1LHV:20170118205522j:plain

電波遮断袋に入れないと、-48dBm です。

 

f:id:JH1LHV:20170117213303j:plain

電波遮断袋に入れると、-87dBm で、約40dBm の減衰が得られました。

 

こういう商品の広告って・・・

調子のいいことばかりしか言わないので・・・最初は半信半疑でしたが。

こんなに遮断してくれるとは・・・ちょっと驚きです。

 

さらに電波を遮断したければ、ポーチごと空き缶の中に入れてしまえばいいので、

技適の要らない微弱電波として実験くらいは続けられそうです。

 

 

(※)

3m の距離で 35μV/m まで電波を遮断するってやってみると分かるけど結構大変です。

マイコンによっても電波の強さは違うし、

同じ種類のマイコンでもロットの違いでその強さは違います。

ものによっては今回のような電波遮断ポーチひとつじゃ希望どおりに減衰させられないかもしれません。

ハムなので電波には敏感になって、そして細心の注意を払いながら実験を続ける必要があると思います。

 

最後に同じことを繰り返しますが、

現在の日本の規則では、この技適マークf:id:JH1LHV:20170115171249j:plainが無いものは違法となるので、

くれぐれもご留意ください。

 

 

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村 

 


アマチュア無線 ブログランキングへ 

 

マイコンの Wifi 電波を遮断してみた

アキバで売ってる Bluetooth 製品しかり、海外の Wifi 付マイコン基板しかり、

これら電波を発する機器を日本国内で使うとなると「技適」が問題になります。

 

安いものを買ってきて、後になって「技適」がないことに気づく。

なんてことも、たびたびです。

 

特に中華で売っているマイコン基板なんて最初から技適なんて付いてないのが当たり前で。

時に FCC さえ付いてないものまであったりと。。。

 

まぁ FCC が付いているものなら、

どこか日本の企業さんが技適の審査通して販売してほしいけど・・・

でも、今度は値段が3割近くも高くなっちゃうしねぇ。

 

で、今日の本題なんだけど、総務省のウェブページによれば、

免許の要らない微弱無線局として「無線設備から3メートルの距離での電界強度」と規定されています。

 

総務省 電波利用ホームページ | 微弱無線局の規定

f:id:JH1LHV:20170115141854g:plain

                   (総務省のウェブから転載) 

 

ようするに、Wifi 付きのマイコンなら、

3メートル離れたところで 35 μV 以下なら免許不要ということで。

 

そんなこんなで、

  • Wifi 付きのマイコンの電波ってどのくらい強いのか
  • 免許不要レベルまで下げる(減衰させる)ことはできるのか

この2点について、ざっくりですが調査してみました。

 

今回調べるマイコンは、WeMos D1 mini という、超メジャーなもので 

そして、電界強度はノート PC に付属する Wifi アダプタを使って受信するだけという

ホント簡単な構成です。(ホンモノの電測なんて持ってないので。。。)

 

f:id:JH1LHV:20170115120415j:plain

WeMos D1 mini をステーションモードで起動しました。

(ステーションモードなので LED は点灯したままとなります。)

 

f:id:JH1LHV:20170115151414j:plain

ノート PC 側の構成は、Kali LinuxKismet です。

  root@kali:~# kismet_server -c wlan0 --use-gpsd-gps
  root@kali:~# kismet

 

ノート PC から3m離れたところに WeMos D1 mini を置いて電界強度を測定しました。

写真はデフォルト状態での強度で、-46dbm を示しています。(SSID = ESP8266_AP)

 

ところで、総務省の基準である 35μV ですが、

このままでは比較しにくいので、これを dBμV に変換しておきます。

dBμV は 1μV を基準にしたときの電圧なので、35μV は 約 31dBμV となります。

 

そして、デフォルト状態での -46dbm を dBμV に変換すると、約61dBμV(50Ω終端)となり、

これはもう完全にアウトです。

 

f:id:JH1LHV:20170115160523j:plain

Google のスプレッドシートを使って計算してみました。

 

ホントならこんな面倒な計算は必要なくて、

50Ω 終端なら単純に dbm に 107 を足すだけで OK なんです。

    dBμV = dBm + 107 = -46 + 107 ≒ 61 dBu (表計算の結果と同じです)

 

で、総務省基準の 31dBμV ですが、これを dBm に変換すると、

    dBm = dBμV - 107 = 31 -107 ≒ -76 dBm

 

となり、このまま使い続けるには、

-76 dBm 以下になるようにシールドなどで電界強度を下げる必要があります。

 

・・・ということで、

まず近くにあった手袋の中にマイコンを入れてみました。

(電波遮断効果なんて期待できない、ただのユニクロの手袋ですが。。。)

f:id:JH1LHV:20170115124014j:plain

すっぽり中まで入れてみましたが。。。

 

f:id:JH1LHV:20170115162226j:plain

手袋なんかでも -64dBm まで下がるんだ。。。

 

続いて、空き缶を使ってシールドです。 

f:id:JH1LHV:20170115124035j:plain

f:id:JH1LHV:20170115124041j:plain

こんな感じで上から蓋です。 

 

f:id:JH1LHV:20170115163140j:plain

-73dBm まで下がったので・・・もう一息です。 

 

さらに、空き缶を使って蓋です。

f:id:JH1LHV:20170115163555j:plain

f:id:JH1LHV:20170115124139j:plain

こんな感じに、缶の上から缶で蓋してみました。

 

f:id:JH1LHV:20170115163421j:plain

なんとか -82dBm  まで下がり、基準をクリアすることはできましたが。。。

 

それにしても、毎回こんなことしてマイコン使った実験するのも面倒だよね。。。

いっそ、Wifi が使えないように改造しちゃうとか。

Wifi を完全に止められるコマンドでもあれば簡単なんだけど、そんな関数あるのかな。

今度、ゆっくりググってみます。

 

それとスマホの電波を完全に遮断できるというポーチなんかも売ってるみたいなので、

だれか持っている人探して今度実験してみたいと思います。

 

ハムなので電波暗室(シールドルーム)が欲しいところだけど・・・そんなん絶対無理だし。。。

 

海外のメジャーなマイコンが技適の関係で使えないなんて・・・ホント、日本の IoT は大丈夫なの?

 

(※)

今回の実験データについては、あくまでも参考として下さい。

根本的な考え方の誤り、計算間違いも考えられます。

それに何より、現在の日本の規則では、この技適マークf:id:JH1LHV:20170115171249j:plainが無いものは違法となります。

くれぐれもご留意ください。

 

 

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村 

 


アマチュア無線 ブログランキングへ 

 

ARDUINO CW KEYER を試してみた ~その30~

Arduino CW Keyer に接続している I2C デバイスのアドレスが分からなくなった時の TIPS です。

 

f:id:JH1LHV:20170111232028j:plain

f:id:JH1LHV:20170111231942j:plain

LCD(2004A)に I2C モジュールを追加してます。

 

Arduino の公式ページに掲載されている i2c_scanner というスケッチを使ってLCD の I2C アドレスを調査します。

 

ウェブに掲載されいるスケッチをコピペして Arduino CW Keyer に書き込むだけです。

 

f:id:JH1LHV:20170112195229j:plain

I2C バスをスキャンして接続されているデバイスのアドレスをシリアルモニタに表示してくれます。

 

f:id:JH1LHV:20170112195245j:plain

スキャンで判明した I2C アドレスにスケッチを書き変えます。

 

これで、LCD は正常に動作するようになります。

 

Arduino CW Keyer もそうですが、

Arduino に LCD とかの I2C デバイスを接続することって結構ありますよね。

 

ところがこれら I2C デバイスをいざ使おうと思ったとき・・・

モジュールのアドレスなんてすっかり忘れて分からなくなっているもので。。。

 

そんな時、アドレスを書き付けたメモを探すよりも先に、

このスケッチを使ってシリアルモニタに I2C アドレスを列挙させた方がよっぽど早く対応できます。

 

ジャンク箱に眠っている、そんな I2C デバイスがあれば、ぜひお試しあれ。 

 

 

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村 

 


アマチュア無線 ブログランキングへ