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コネクタも出ているので、気軽に機能を試したいニーズには最適です。

SPRESENSE FIRST APP.

Spresenseの開発を始めます。
Spresenseは、手軽にアプリケーションを作れる Arduino IDE を使った開発と、本格的な組込みアプリケーションを作れる NuttX を使った開発の二つから選択できます。NuttXを使った本格的なSpresense SDKで開発を行います。
チュートリアルが以下にあります。
https://developer.sony.com/ja/develop/spresense/developer-tools/get-started-using-nuttx/set-up-the-nuttx-environment
サンプルアプリケーション Hello, World! の作成してきます。
OSは、ubuntu16.4J LTS 64ビット日本語版の仮想環境を使用します。
Spresense SDK の使い方の順に進めれば、サンプルを動かすことができます。
シリアルターミナルで実行します。

すべてコマンドプロンプトで処理しなければなりません。
高性能なので使ってみたいともいますが、正直、使い易いシステムではありません。

SONY IOT BOARD SPRESENSE

SONYのIoT Board SPRESENSEを購入しました。
チップワンストップで購入できます。
https://www.chip1stop.com/sp/solution/spresense-sony?cid=top_r_spresense-sony

拡張ボードと連結しました。
ソニーセミコンダクタソリューションズ株式会社に製品ページがあります。
https://www.sony-semicon.co.jp/products_ja/spresense/index.html
開発環境のページも用意されています。
https://developer.sony.com/ja/develop/spresense/

3.5″LCD DISPLAY2

Raspberry Pi2 model BにQuimat 3.5インチタッチスクリーンを接続しました。LCDの表示は、ドライバなしで表示できますが、タッチ操作には、ドライバが必要です。ドライバは、付属CDのDriverフォルダ内にあります。LCD-show.tar.gzファイルがドライバです。USBメモリでRaspberry piの/bootフォルダにコピーしました。ドライバのインストール方法は、付属CDのDocumentフォルダに入っています。MPI3508用户手册_V1.0.pdfファイルに書いてあります。中国語ですが4ページ目の
步骤5,在terminal终端中输入如下指令:
を実行します。ターミナルを開いて以下のコマンドを実行します。
cd /boot
cp LCD-show.tar.gz ~
cd ~
sudo tar zxvf LCD-sudo.tar.gz
cd LCD-show/
sudo ./MPI3508_480_320-show

再起動が行われタッチ操作が可能になります。

3.5″LCD DISPLAY

Raspberry Pi2 model Bに3.5インチのタッチパネルディスプレイを接続しました。
RaspberryPi2 Model B (ラズベリーパイツーモデルビー) RS版
http://akizukidenshi.com/catalog/g/gM-09024/
Quimat 3.5インチタッチスクリーン HDMIモニタTFT LCDディスプレイ Raspberry Pi 3 2 Model B Rpi B B+ A A+ 映画 アーケードゲーム オーディオ入力 RPi GPIOブレークアウト拡張ボード 保護ケースキット アクリル(透明) QC35Chttps://www.amazon.co.jp/gp/product/B075K56C12/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1
Quimat 3.5インチタッチスクリーン は、HDMIで接続するLCDディスプレイです。ケースなしもありますが今回はケースありを選択しました。
HDMIの小型タッチパネルはいくつかありますが、本品は、GPIOピンが引き出せます。
開封した写真です。

GPIOが引き出せるのでタッチパネルに使用していないピンは使用できます。
組立後の写真です。

C2000 Delfino MCUs F28377S LaunchPad DMA ADC

DelfinoでDMAを使用したADCを行ってみました。

adc_soc_continuous_dma_cpu01サンプルを利用しています。
1024個取り込みまは、DMAで行い、取り込み終わるとSCIを介してXBeeでPCに送ります。
XBeeでは、通信が早すぎて取りこぼすので、USBシリアルで送る方が良いと思います。
12Bitモードで14MSPSまで上げられるので高速なADCに使用できそうです。
http://www.ti.com/lit/ds/symlink/tms320f28374s.pdf

以下にサンプルプログラムがあります。
https://github.com/jendo1969/Delfino/tree/master/adc_soc_continuous_dma_cpu01

© 2014 Spineedge Corporation.

組込み技術向上のため、エンベデッドに関する話題中心のブログです。