jendo1969 のすべての投稿

ESP8266 micropython3

WiFi接続を行いました。
ESP8266の使い方は以下に詳しくあります。
https://micropython-docs-ja.readthedocs.io/ja/latest/esp8266/quickref.html
ネットワーキングの項目にWiFiの接続方法が書かれています。
この関数を使って簡単にWiFi接続ができました。

次にOLEDディスプレイを接続しました。I2Cでの接続です。
これも以下のURLで接続方法の記述があります。
https://randomnerdtutorials.com/micropython-oled-display-esp32-esp8266/
ライブラリファイルをアプロードした後に、メインプログラムをアップロードします。

SSD1306のOLEDは、I2Cで使用ピンも少なく、視認性も良いので重宝します。

ESP8266 micropython2

micropythonの IEDとしてuPycraft を使用しました。
以下のサイトにWindowsにInstallする方法があります。
https://randomnerdtutorials.com/install-upycraft-ide-windows-pc-instructions/

uPyCraft.exeは、以下のURLからダウンロード可能です。
https://randomnerdtutorials.com/uPyCraftWindows

IDEが立ち上がります。
micropythonのファームウェアを書き込んだNODEMCUをUSBでPCと接続します。
ToolsメニューのSerialメニューから接続しているCOMポートを選択してください。これでエディタの下側のターミナル表示部分に>>>のプロンプトが表示されます。
これでmicropythonのコーディング準備ができました。

NODEMCU側は、そのままだと使いづらいので NodeMcuベースを購入しました。
https://www.amazon.co.jp/gp/product/B07KD2XVD4

/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
電源やIOのピンが複数用意されているのでプロトタイプを作成するのに最適です。残念なことに幅が合わなくて亀の子状態になっています。

ESP8266 micropython

NODEMCUを購入しました。 https://www.amazon.co.jp/gp/product/B07K2VQ4J7/ref=ppx_yo_dt_b_asin_title_o06_s00?ie=UTF8&psc=1
ESP8266を搭載したESP-12Eを搭載しています。
micropythonで使用してみます。
以下のサイトがmicoropythonの公式サイトです。
https://docs.micropython.org/en/latest/index.html
ESP8266のクイックリファレンスです。
https://docs.micropython.org/en/latest/esp8266/quickref.html
まずはインストールのなので Getting startedを参照します。
https://docs.micropython.org/en/latest/esp8266/tutorial/intro.html#intro
インストールするためUBUNTUを使用しました。
pip install esptool
でツールをインストールします。NODEMCUをUBUNTUに接続します。
まずフラッシュメモリを消すコマンドを実行します。
esptool.py –port /dev/ttyUSB0 erase_flash

 

先にmicropyhtonのファームウェアをダウンロードしておきます。以下にイメージがあります。最新のv1.11を使用します。
http://micropython.org/download#esp8266

次にまずmicropyhtonのファームウェアをフラッシュメモリに書き込みます。
esptool.py –port /dev/ttyUSB0 –baud 460800 write_flash –flash_size=detect -fm dio 0 esp8266-20190529-v1.11.bin

書き込みが終わるとシリアルで接続できるようになります。
picocom /dev/ttyUSB0 -b115200
115200bpsで接続できます。

MicroPython v1.11-8-g48dcbbe60 on 2019-05-29; ESP module with ESP8266
Type “help()” for more information.
>>>

ターミナルが起動すれば成功です。

 

MBED NUCLEO-F767ZI

前回mbedのオフライン開発環境mbed CLIを作成しました。OS5でEthernetを使用したいと考えています。LPC1768では、ちょっとメモリが小さいので新しいボードを探しました。
NUCLEO-F767ZIを購入しました。
https://os.mbed.com/platforms/ST-Nucleo-F767ZI/
メーカのサイトは以下になります。
https://www.st.com/en/evaluation-tools/nucleo-f767zi.html#
RSコンポーネンツで購入しました。
https://jp.rs-online.com/web/p/processor-microcontroller-development-kits/1231052/?relevancy-data=636F3D3126696E3D4931384E53656172636847656E65726963266C753D6A61266D6D3D6D61746368616C6C7061727469616C26706D3D5E5B5C707B4C7D5C707B4E647D2D2C2F255C2E5D2B2426706F3D31313326736E3D592673723D2673743D4B4559574F52445F53494E474C455F414C5048415F4E554D455249432677633D4E4F4E45267573743D4E55434C454F2D463736375A49267374613D4E55434C454F2D463736375A4926&searchHistory=%7B%22enabled%22%3Atrue%7D
税抜きで3000円しないので性能に比べると低価格です。
ST-LINK/V2も内蔵しているのでデバッガを別途用意する必要はありません。このボードは、mbedとして使用します。
電源を入れるとLEDの点滅とUSERボタンに対応したプロフラムが起動します。
https://os.mbed.com/teams/ST/code/mbed-os-tcp-server-example/
mbed-os-tcp-server-example をCLIでコンパイルし動かしました。
Webサーバとして動きました 。

mbed OS 5 CLI

mbed OS5をオフラインで使うためにmbed-cliの開発環境を作りました。
https://os.mbed.com/
mbedは、初代LPC1768を使用しました。

Windows10での環境構築は以下のURLに詳しく書かれています。
https://os.mbed.com/users/ytsuboi/notebook/ja-setup-mbed-cli-on-windows/
LINUXでの環境構築は以下のURLに詳しく書かれています。
LINUXはUbuntu16.04LTSを使用しました。
https://qiita.com/hotchpotch/items/4d87c13b97d236db5b4f
どちらもほぼ同じ手順で環境構築できます。
Windowsには、Installerが用意されている分、簡単に構築できます。
https://github.com/ARMmbed/mbed-cli-windows-installer/releases/tag/v0.4.10
動作確認にmbed-os-example-blinkyサンプルプロフラムを使用します。
https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-blinky/

mbed targetを実行すると実際にUSB でつながているmbedボードが認識されます。

mbed compileを実行するとサンプルプログラムがビルドされます。
…\mbed-os-example-blinky\BUILD\LPC1768\GCC_ARMフォルダの中にmbed-os-example-blinky.binファイルが作成されます。
後はいつものようにmbedドライブに書き込みRESTすればサンプルプログラムが動作します。
コマンドプロンプトでの操作になりますが、mbedがLOCAL環境で
開発できるようになりました。

BeagleBoard-xM Update

久しぶにBeagleBoard-xM のOSを入れ替えました。最新のUbuntu18.04LTSを入れました。
https://elinux.org/BeagleBoardUbuntu
ここからUbuntuをダウンロードできます。
https://rcn-ee.com/rootfs/2018-12-10/microsd/bbxm-ubuntu-18.04.1-console-armhf-2018-12-10-2gb.img.xz
SDへの書き込みは、Win32DiskImagerを使用しました。
最近は、http://etcher.ioでの書き込み例が多いいですが
Win32DiskImagerも簡単です。
BeagleBoard-xM はシリアルポートがついているのでコンソールで立ち上げができます。
有線LANは、初めからDHCPで認識されますが、16.04で認識されていたWiFiは有効になりません。USB無線LAN子機は、BuffaloのWLI-UC-GNM2Sを使用しています。lsusbで確認するとUSBには認識されます。16.04で使っていたwpa_supplicant.confでの設定ではなく、Network Managerを使うようです。
sudo apt-get install network-manager
でインストールします。
nmcliコマンドで設定をしていくようです。
詳しい設定は、以下を参考にしました。
▼RHEL7 / CentOS 7 で、NetworkManager 管理下で WiFi の自動接続をコマンドラインで設定する▼
非常に助かりました。ありがとうございます。
SSIDやセキュリティの設定後、必ずnmcliコマンドでsaveして保存を行うことを忘れないようにしてください。
設定後、Network Managerを再起動するとWiFIがAPと接続し、IPが取得できました。
sudo service network-manager restart

最後に自動起動するように設定します。
sudo systemctl enable NetworkManager
これで電源投入後自動的にWiFiが接続します。
WiFi経由でSSHが使えるようになるととても操作が楽になります。

Raspberry Pi A+ UART GATEWAY

Raspberry Pi A+でUSB Serial ComverterとOnboardのUARTとをGatewayするプログラムを作成しました。

UARTは、RS232Cレベルで通信するためアナログデバイセズのドライバIC ADM3202を使用しました。
https://www.analog.com/jp/products/adm3202.html

OnboardのUARTをプログラムで使用するときは、コンソールでの使用を無効にする必要上がります。
sudo raspi-config
でシリアル接続上のシェルとカーネルのメッセージを無効にします。以下のURLに詳しい記載があります。
https://www.raspberrypi.org/documentation/configuration/raspi-config.md

双方向にデータのやり取りができました。
サンプルプログラムは、以下にあります。
https://github.com/jendo1969/pydir/blob/master/UART/serialtest.py

Raspberry Pi A+ UPDATE

Raspberryを最新のOSに乗せ換えました。
OSのRasbianは、以下からダウンロードしました。
https://www.raspberrypi.org/downloads/raspbian/
今回は、DESKTOPとして使用しないので軽い以下のOSを選択しました。
https://www.raspberrypi.org/downloads/raspbian/
Raspbian Stretch Liteをダウンロードします。
Raspbian Stretch Lite Minimal image based on Debian Stretch
Version: November 2018 Release date: 2018-11-13

WindowsでSDカードに書き込んだので
Win32 Disk Imager
を使用して書き込みました。
起動して設定を進めるためシリアル通信TTYのターミナルで設定を進めました。

まずは、ネットにつなげるためWiFiの設定をしました。
WiFiは、USBドングルのPLANEX GW-USNano2を使用しました。
まずWiFiの設定を行います。
$wpa_passphrase SSID PASSWORD
このコマンドで設定が取得できます。
network={
ssid=”SSID”
psk=PASSWORDの暗号コード
}

$sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
テキストエディタで設定ファイルを編集します。
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid=”SSID”
psk=PASSWORDの暗号コード
key_mgmt=WPA-PSK
proto=WPA
pairwise=TKIP CCMP
priority=2
scan_ssid=1
}

続いてネットワークの設定を行います。
$cd /etc/network
$sudo nano interfaces
設定ファイルを編集します。

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

再起動します。
$sudo reboot

再起動後、IPアドレスの設定を確認します。
$ifconfig -a
IPアドレスが取れていることを確認します。

インターネットが接続できるようになったので、最新の状態に変更します。
$sudo apt-get update
$sudo apt-get upgrade

LANがつながるのでSSHを有効にします。
Raspberry PIの背帝プログラムを起動します。
$sudo raspi-config
メニューから ”5 Interfacing Options”を選択
“P2 SSH”を選択
これで、SSHが使用できるようになりシリアルで接続しなくてよくなります。

Microchip’s Development Tools2

Microstick IIが若干使いづらいので低価格インサーキットデバッガ/プログラマのMPLAB SNAPを購入しました。
http://akizukidenshi.com/catalog/g/gM-13854/

ターゲットは、PIC32MXマイコン実装基板を購入しました。
http://akizukidenshi.com/catalog/g/gM-12417/
PIC32MX370F512Hは、プログラムメモリが512kB、データメモリが128kBあります。かなり大きなプログラムを作成できます。
MPLAB Code Configuratorで周辺機器のドライバが自動生成できます。
https://www.microchip.com/mplab/mplab-code-configurator
使いやすく目的のプログラムをすばやく作成できます。

Microchip’s Development Tools

わけあってPIC開発を始めました。
まずは格安のMicrostick II を購入しました。https://www.microchip.com/developmenttools/ProductDetails/DM330013-2
https://jp.rs-online.com/web/p/processor-microcontroller-development-kits/7989569/
RSコンポーネンツで購入しました。
Microstick II は、4つのマイコンが同梱されています。デバッガも搭載しており16ビットと32ビットのマイコンがすぐに試すことができます。USBで電源供給とデバッガがつながります。
PIC24FJ64GB002
PIC24HJ128GP502
DsPIC33FJ128MC802
PIC32MX250F128B

一番大きい32ビットのPIC32MX250F128B をターゲットにしました。
開発環境は、MPLAB Xを選択し、コンパイラは、XC32を使用しました。
https://www.microchip.com/mplab/mplab-x-ide
https://www.microchip.com/mplab/compilers
すべて無償で利用できます。
Microstick IIのデバッガは、機能制限がありあまり使いやすくはありません。USRATコネクタも出ているので、気軽に機能を試したいニーズには最適です。

© 2014 Spineedge Corporation.