使用中のOSに基づいて、適切なSR9900ドライバーをダウンロードしてください。
ドライバーの圧縮ファイルをデスクトップに解凍->デバイスマネージャー中の未認識のデバイス(名称はUSB 10/100 LANまたはSR9900文字を含む)を選択->右クリックでカスタム更新を選択->解凍した圧縮ファイルのパスを選択->確認をクリックし、更新を待ちます。
ドライバーの圧縮ファイルを解凍->SR9900_v1.x.pkgファイルをダブルクリックして開く->提示に従って次へをクリックしてインストールを開始。(圧縮包内には詳細版のドライバーのインストール手順pdfが含まれています)
sudo ifconfig en10 down
sudo ifconfig en10 up
USBを接続して電源を供給すると、UnitV2は自動的に起動します。電源指示灯は赤と白の表示を繰り返し、起動が完了した後は消灯します。UnitV2の出荷時のLinuxイメージは、多種多様の基礎外設と開発ツールを統合し、ユーザは内蔵のJupyter Notebookを用いて開発を行うか、SSHを通じてデバイスに直接アクセスしてプログラムファイルを編集、実行することができます。UnitV2とネットワーク接続を確立するには、下記の2つの接続方法があります。
Ethernetモード接続: UnitV2は有線NICを内蔵し、TypeCインタフェースをPCに接続すると、UnitV2と自動的にネットワーク接続が確立されます。
APモード接続: UnitV2起動後、既定のAPホットスポット(SSID: M5UV2_XXX: PWD:12345678)を開設し、ユーザはWiFiを通じてUnitV2とネットワーク接続を確立することができます。
UnitV2の出荷時LinuxイメージはJupyter Notebook開発デバッグツールを統合し、Jupyter Notebookはウェブ形式の開発ツールで、ユーザはウェブページ上直接にコードを編集と実行することができます。プログラミングの過程中に説明書を記述する必要がある場合は、同じページ上直接に記述することができ、即時の説明と解釈を容易に行うことができます。デバイスのオンライン運行デバッグに非常に便利です。 Jupyter Notebookの公式ウェブサイトを訪問して詳細を確認 。本チュートリアルでは、Jupyter Notebookを用いていくつかの単純なサンプルプログラムを編集と実行し、UnitV2上の基礎外設ハードウェアの制御方法を紹介します。UnitV2はPython 3.8と共にJupyter Notebookを運行し、Pythonのすべての高度な特性と構文糖をサポートします!
PCとUnitV2の接続が確立後、ブラウザを通じて域名unitv2.pyまたはIP:10.254.239.1を訪問し、認識機能のプレビューページを開く->右上の設定ボタンをクリック->Jupyter Notebookに切り替え、ページの提示に従ってリフレッシュを行います。
Jupyter Notebookのページに入力すると、ファイルシステム中に01-Introduction to M5Stack UnitV2.ipynbプログラムファイルが内蔵されています。该文件は基礎外設ハード
プログラムのコメントに沿ってプログラムを選択し、上部の実行ボタンをクリックして、オンラインデバッグ機器を体験してください。
import time
def control_white_led(value):
open('/sys/class/gpio/export', 'w').write('0') # Export the GPIO0
open('/sys/class/gpio/gpio0/direction', 'w').write('out') # Set the direction of the GPIO
open('/sys/class/gpio/gpio0/value', 'w').write(str(value)) # Set the calute, '1' or '0'
def control_red_led(value):
open('/sys/class/gpio/export', 'w').write('1') # Export the GPIO0
open('/sys/class/gpio/gpio1/direction', 'w').write('out') # Set the direction of the GPIO
open('/sys/class/gpio/gpio1/value', 'w').write(str(value)) # Set the calute, '1' or '0'
for i in range(10):
control_white_led(0)
time.sleep(0.5)
control_white_led(1)
time.sleep(0.5)
import subprocess
import audioop
import time
audio_cmd = ['arecord', '-D', 'plughw:0', '-f', 'S16_LE', '-c', '1', '-r', '48000', '-t', 'raw', '-q', '-']
audio_source = subprocess.Popen(audio_cmd, stdout=subprocess.PIPE)
while True:
audio_source.stdout.flush()
data = audio_source.stdout.read(512)
rms = audioop.rms(data, 2)
print(rms)
time.sleep(0.1)
arecord -d 20 -r 48000 -c 2 -f S16_LE audio.wav
import serial
# Open the serial port, and set the baudrate to 115200
uart_grove = serial.Serial('/dev/ttyS1', 115200, timeout=0.5)
# Send Something
uart_grove.write('hello'.encode('utf-8'))
# encode is for converting the string to bytes, or you can directly send bytes
uart_grove.write(b'hello')
# Receive soemthing
x = uart_grove.read() # read one byte
s = uart_grove.read(10) # read up to ten bytes (timeout)
line = uart_grove.readline() # read a '/n' terminated line
M5Stack UnitV2の内蔵カメラは /dev/video0 にあります。静止画像フレームをキャプチャしてみることができます。
import cv2
camera = cv2.VideoCapture(0)
ret, frame = camera.read()
if ret:
print('Capture Successful!')
else:
print('OOps, we get some trouble!')
matplotlibライブラリを使用して、Jupyter notebookのページ上に画像を表示します。
from matplotlib import pyplot as plt
# Magic to tell matplotlib display the image in jupyter notebook
%matplotlib inline
# Let show the image!
plt.imshow(frame)
OpenCVで使用するBGRをRGBに変換し、matplotlibで正常な色の画像を表示します。
# Convert from BGR to RGB
frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
plt.imshow(frame_rgb)
灰階調に変換してみる
# Convert from BGR to RGB
frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# We need to tell matplotlib it is a grey image. You can try to change to other cmap, refer here: https://matplotlib.org/stable/tutorials/colors/colormaps.html
plt.imshow(frame_gray, cmap='gray')
撮影し、画像を保存
import cv2
camera = cv2.VideoCapture(0)
ret, frame = camera.read()
if ret:
print('Capture Successful!')
cv2.imwrite('test2.png',frame)
else:
print('OOps, we get some trouble!')
コマンドラインターミナルを開き、下記の指令を入力し、デフォルトのパスワードを入力して、デバイスにsshでアクセスしてください。
ssh m5stack@10.254.239.1
//user: m5stack
//pwd: 12345678
//user: root
//pwd: 7d219bec161177ba75689e71edc1835422b87be17bf92c3ff527b35052bf7d1f
ユーザのデフォルトディレクトリ構造
//存储Jupyter Notebook中编辑的文件
/home/notebook
//存储识别功能服务文件资源,和一些模型文件
/home/m5stack