Skip to content

Instantly share code, notes, and snippets.

# シリアルポートで受信したデータを MQTT Broker に投げる
from paho.mqtt import client as mqtt_client
import random
import time
import asyncio
from serial_asyncio import open_serial_connection
import sys
args = sys.argv
name = args[1] # COM3 などを引数で指定する (例: python serial2mqtt.py COM3 )
@ksasao
ksasao / BLEToMQTT.ino
Last active October 13, 2024 11:31
M5Stack + LANモジュールでBLEビーコンのアドバタイジングパケットを受信してMQTTで送信するサンプル
#include <M5Stack.h>
//#include <M5_Ethernet.h>
#include <Ethernet2.h> // Please also fix Server.h according to https://twitter.com/ksasao/status/1845423873313079331
#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEScan.h>
#include <PubSubClient.h>
#include <WiFiClient.h>
#include <ArduinoUniqueID.h>
@ksasao
ksasao / faceblur.py
Last active March 31, 2024 11:19
顔を検出し、顔をぼかすプログラム https://twitter.com/ksasao/status/1774385456324784130
# 顔を検出し、顔をぼかすプログラム
# opencv-python >= 4.9.0.80
import cv2
import numpy as np
# 円形領域にぼかしを適用
def circle_blur(img, rect):
# rectを囲む円形領域を求め、さらにそれを囲むような矩形を求める
center_x = int(rect[0] + rect[2] // 2)
center_y = int(rect[1] + rect[3] // 2)
@ksasao
ksasao / EnvIVTest.ino
Last active March 3, 2024 02:24
I tried using ENV IV with M5UnitENV v1.0.0 library, however it did not read temperature and humidity properly in my environment, so I modified it to work.
// https://github.com/m5stack/M5Unit-ENV
#include "M5Atom.h"
#include "M5UnitENV.h"
SHT4X sht4;
BMP280 bmp;
// I2C Address for M5Atom Grove Connector
#define SDA_PIN 26
#define SCL_PIN 32
@ksasao
ksasao / SEFR.cpp
Created October 4, 2023 13:40
SEFR multi-class classifier algorithm implementation for M5Atom
/*
This code is derived from the SEFR multi-class classifier algorithm developed by Alan Wang.
The original code can be found at https://github.com/alankrantas/sefr_multiclass_classifier.
The code is licensed under the MIT License.
https://opensource.org/licenses/mit-license.php
*/
#include "SEFR.h"
uint8_t m_features;
@ksasao
ksasao / eki_map.html
Last active September 29, 2023 16:09
列挙した駅名を地図上にプロットします。stations.csv は別途用意してください。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>駅一覧</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css" />
<style>
body {
margin: 0;
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Fukashigi
{
internal class Program
{
@ksasao
ksasao / Program.cs
Last active May 25, 2023 03:56
byte[] のデータをグレースケールビットマップ画像として保存。widthが4の倍数ではないケースを考慮。
// https://symfoware.blog.fc2.com/blog-entry-2195.html
// のコードで Width が 4の倍数ではない場合も考慮
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Drawing.Imaging;
@ksasao
ksasao / BTRTK.ino
Last active June 8, 2024 05:01
M5StickC と u-blox ZED-F9P でRTK測位をするサンプル。M5StickCとZED-F9Pモジュールとの接続はI2C、RTCM3はAndroid スマホからの Bluetooth Serial 経由で受信する実装です。https://twitter.com/ksasao/status/1655098208903888901
#include <M5GFX.h>
#include <M5StickCPlus.h>
#include "BluetoothSerial.h"
#include <TinyGPS++.h>
#include <SparkFun_u-blox_GNSS_Arduino_Library.h>
SFE_UBLOX_GNSS myGNSS;
// Location of Destination
double destLat = 35.5000000;
double destLon = 139.6000000;