SSL通信をしたい その2
SSL通信をしたい その1
今の時代やっぱりセキュリティが大事ですよね。
SSL=Secure Sockets Layer(インターネット上での通信を暗号化する技術)
そもそもM5Stackで実現できるのかな。。。
参考までに色々と調べてみました。なんかできそう。
intellectualcuriosity.hatenablog.com
オワタ
年明けから勉強していたのにネットワークスペシャリスト申し込むの忘れた。。。
twitterに投稿 その3
M5Paperもあるよ
だいぶ前に届いてたけど存在を忘れていたM5Paper。
こちらも触っていこうと思います。
バイブレーション機能
久しぶりの更新になりました。
今回はバイブレーション機能を触ってみました。
バイブレーション関数
第一引数はAXPのLDO番号、第二引数は有効/無効(true/false)
を設定します。
M5.Axp.SetLDOEnable( uint8_t number, bool state );
サンプルコード
#include <M5Core2.h> void setup() { // 初期化 M5.begin(); // 文字サイズを変更 M5.Lcd.setTextSize(2); // Aボタン M5.Lcd.setCursor(20,75); M5.Lcd.printf("Button A : Vivrator ON"); // Bボタン M5.Lcd.setCursor(20,125); M5.Lcd.printf("Button C : Vivrator OFF"); return; } void loop() { TouchPoint_t atTouchPoint; // タッチ中 if( M5.Touch.ispressed() ) { // タッチしたX座標、Y座標を取得する atTouchPoint = M5.Touch.getPressPoint(); } // Aボタン if( ((0 <= atTouchPoint.x) && ((129) >= atTouchPoint.x)) && ((240 <= atTouchPoint.y) && ((280) >= atTouchPoint.y)) ) { M5.Axp.SetLDOEnable(3, true); } // Bボタン if( ((130 <= atTouchPoint.x) && ((200) >= atTouchPoint.x)) && ((240 <= atTouchPoint.y) && ((280) >= atTouchPoint.y)) ) { ; } // Cボタン if( ((201 <= atTouchPoint.x) && ((320) >= atTouchPoint.x)) && ((240 <= atTouchPoint.y) && ((280) >= atTouchPoint.y)) ) { M5.Axp.SetLDOEnable(3, false); } return; }
動画見て頂くとバイブレーションの振動で動いているのがわかりますか?
音も小さいですがバイブ音がなっています。
タッチによる色変え
前回はタッチによる座標を表示しましたが、
今回はタッチしたエリアに色を付けて表現してみました。
サンプルコード
#include <M5Core2.h> typedef struct TS_TOUCH_GAME { unsigned short usCoord_X; unsigned short usCoord_Y; unsigned short usWidth; unsigned short usHeight; unsigned short usColor; } TS_TOUCH_GAME; const TS_TOUCH_GAME gtTouchTbl[] = { { 0, 0, 160, 120, RED }, { 160, 0, 160, 120, WHITE }, { 0, 120, 160, 120, BLUE }, { 160, 120, 160, 120, GREEN } }; const unsigned short gusTblNum = sizeof(gtTouchTbl) / sizeof(TS_TOUCH_GAME); void setup() { // 初期化 M5.begin(); return; } void loop() { unsigned short ausIdx = 0; TouchPoint_t atTouchPoint; // タッチ中 if( M5.Touch.ispressed() ) { // タッチしたX座標、Y座標を取得する atTouchPoint = M5.Touch.getPressPoint(); } // for( ausIdx = 0; ausIdx < gusTblNum; ausIdx++ ) { // 範囲チェック if( ((gtTouchTbl[ausIdx].usCoord_X <= atTouchPoint.x) && ((gtTouchTbl[ausIdx].usCoord_X + gtTouchTbl[ausIdx].usWidth) >= atTouchPoint.x)) && ((gtTouchTbl[ausIdx].usCoord_Y <= atTouchPoint.y) && ((gtTouchTbl[ausIdx].usCoord_Y + gtTouchTbl[ausIdx].usHeight) >= atTouchPoint.y)) ) { //四角形塗りつぶし M5.Lcd.fillRect( gtTouchTbl[ausIdx].usCoord_X, gtTouchTbl[ausIdx].usCoord_Y, gtTouchTbl[ausIdx].usWidth, gtTouchTbl[ausIdx].usHeight, gtTouchTbl[ausIdx].usColor ); } else { ; } } // Bボタン if( ((130 <= atTouchPoint.x) && ((200) >= atTouchPoint.x)) && ((240 <= atTouchPoint.y) && ((280) >= atTouchPoint.y)) ) { M5.Lcd.fillRect( 0, 0, 320, 240, BLACK ); } return; }
色で表現すると作った感が出てきますね。
ちなみに下部の〇ボタンも物理キーからタッチキーに変わったので座標判定が必要です。
詳しくはまた。