diff --git a/docs/Edge/NVIDIA_Jetson/Application/Developer_Tools/NVStreamer_Getting_Started.md b/docs/Edge/NVIDIA_Jetson/Application/Developer_Tools/NVStreamer_Getting_Started.md index 63cf4d9e5747..2d496a6892b2 100644 --- a/docs/Edge/NVIDIA_Jetson/Application/Developer_Tools/NVStreamer_Getting_Started.md +++ b/docs/Edge/NVIDIA_Jetson/Application/Developer_Tools/NVStreamer_Getting_Started.md @@ -27,11 +27,11 @@ This wiki provides a tutorial on how to use NVStreamer for RTSP video streaming Before proceeding with the setup process, please ensure that your system meets the following prerequisites:
+ src="https://files.seeedstudio.com/wiki/reComputer/Application/reComputer_J4012.png" />
- + Get One Now 🖱️
diff --git a/docs/Edge/NVIDIA_Jetson/Application/Generative_AI/How_to_run_VLM_on_reComputer.md b/docs/Edge/NVIDIA_Jetson/Application/Generative_AI/How_to_run_VLM_on_reComputer.md index ea95799082b6..a8d7a77ab606 100644 --- a/docs/Edge/NVIDIA_Jetson/Application/Generative_AI/How_to_run_VLM_on_reComputer.md +++ b/docs/Edge/NVIDIA_Jetson/Application/Generative_AI/How_to_run_VLM_on_reComputer.md @@ -28,11 +28,11 @@ Before proceeding with the setup process, please ensure that your system meets t
+ src="https://files.seeedstudio.com/wiki/reComputer/Application/reComputer_J4012.png" />
- + Get One Now 🖱️
diff --git a/docs/Edge/NVIDIA_Jetson/Application/Generative_AI/How_to_run_zero_shot_detection_on_reComputer.md b/docs/Edge/NVIDIA_Jetson/Application/Generative_AI/How_to_run_zero_shot_detection_on_reComputer.md index 275771dede84..3e8a10ba9bd2 100644 --- a/docs/Edge/NVIDIA_Jetson/Application/Generative_AI/How_to_run_zero_shot_detection_on_reComputer.md +++ b/docs/Edge/NVIDIA_Jetson/Application/Generative_AI/How_to_run_zero_shot_detection_on_reComputer.md @@ -28,11 +28,11 @@ Before proceeding with the setup process, please ensure that your system meets t
+ src="https://files.seeedstudio.com/wiki/reComputer/Application/reComputer_J4012.png" />
- + Get One Now 🖱️
diff --git a/docs/Edge/NVIDIA_Jetson/Carrier_Boards/J202/reComputer_J2021_J202_Flash_Jetpack.md b/docs/Edge/NVIDIA_Jetson/Carrier_Boards/J202/reComputer_J2021_J202_Flash_Jetpack.md index 1c658dbd7f29..c6b117066a2f 100644 --- a/docs/Edge/NVIDIA_Jetson/Carrier_Boards/J202/reComputer_J2021_J202_Flash_Jetpack.md +++ b/docs/Edge/NVIDIA_Jetson/Carrier_Boards/J202/reComputer_J2021_J202_Flash_Jetpack.md @@ -138,15 +138,17 @@ The first time you use NVIDIA SDK Manager, a web page will pop up prompting you After logging in, you will be taken to the first screen where the first step of installing. Since we have already connected the reComputer J2021, there will be a window pop up to let you select the hardware device. -The reComputer J2021 has equipped with **NVIDIA Jetson Xavier 8GB module**, so we can choose the first one. +The reComputer J2021 has equipped with **NVIDIA Jetson Xavier 8GB module**, so we can choose `Jetson Xavier NX modules`. -(要图) +
+ +
There are more selections for you to choose in the first screen: - The **Jetson** in the Product Category panel need to be selected. - In the Hardware Configuration panel, we recommend that you **do not select Host Machine**. This will take more time to install the NVIDIA components for your current Ubuntu host. You can choose it if you need. -- In the Target Operating System panel, we can select different **operating system** and **JetPack version**. But be careful the version of JetPack, different modules may support different type of JetPack. We recommand "JetPack 4.6.1" here. +- In the Target Operating System panel, we can select different **operating system** and **JetPack version**. But be careful the version of JetPack, different modules may support different type of JetPack such as `JetPack 4.6.1`, `JetPack 5.1.1` . We recommand "JetPack 4.6.1" here. - In the Additional SDKs, since the storage space of eMMC is only 16GB, it will be out of memory if we install DeepStream here.
diff --git a/docs/Edge/NVIDIA_Jetson/Carrier_Boards/J401/J401_carrierboard_Hardware_Interfaces_Usage.md b/docs/Edge/NVIDIA_Jetson/Carrier_Boards/J401/J401_carrierboard_Hardware_Interfaces_Usage.md index ad79d0d02158..e1b524d38e7c 100644 --- a/docs/Edge/NVIDIA_Jetson/Carrier_Boards/J401/J401_carrierboard_Hardware_Interfaces_Usage.md +++ b/docs/Edge/NVIDIA_Jetson/Carrier_Boards/J401/J401_carrierboard_Hardware_Interfaces_Usage.md @@ -115,15 +115,16 @@ CSI stands for Camera Serial Interface. It is a specification that describes a s - IMX219 cameras - [Raspberry Pi Camera V2](https://www.seeedstudio.com/Raspberry-Pi-Camera-Module-V2.html) - - [IMX219-130 8MP Camera with 130° FOV](https://www.seeedstudio.com/IMX219-130-Camera-130-FOV-Applicable-for-Jetson-Nano-p-4606.html) + + + - [IMX219-77 8MP Camera with 77° FOV](https://www.seeedstudio.com/IMX219-77-Camera-77-FOV-Applicable-for-Jetson-Nano-p-4608.html) - [IMX219 M12/CS mount CMOS Camera Module](https://www.seeedstudio.com/IMX-219-CMOS-camera-module-M12-and-CS-camera-available-p-5372.html) - [IMX219-83 8MP 3D Stereo Camera Module](https://www.seeedstudio.com/IMX219-83-Stereo-Camera-8MP-Binocular-Camera-Module-Depth-Vision-Applicable-for-Jetson-Nano-p-4610.html) - [IMX219-77IR 8MP IR Night Vision Camera with 77° FOV](https://www.seeedstudio.com/IMX219-77IR-Camera-77-FOV-Infrared-Applicable-for-Jetson-Nano-p-4607.html) - [IMX219-160IR 8MP Camera with 160° FOV](https://www.seeedstudio.com/IMX219-160IR-Camera160-FOV-Infrared-Applicable-for-Jetson-Nano-p-4602.html) - - [IMX219 M12/CS mount CMOS Camera Module](https://www.seeedstudio.com/IMX-219-CMOS-camera-module-M12-and-CS-camera-available-p-5372.html) - IMX477 cameras diff --git a/docs/Edge/NVIDIA_Jetson/Carrier_Boards/J501/reServer_Industrial_J501_Getting_Started.md b/docs/Edge/NVIDIA_Jetson/Carrier_Boards/J501/reServer_Industrial_J501_Getting_Started.md new file mode 100644 index 000000000000..b41c13ef0d74 --- /dev/null +++ b/docs/Edge/NVIDIA_Jetson/Carrier_Boards/J501/reServer_Industrial_J501_Getting_Started.md @@ -0,0 +1,298 @@ +--- +description: This wiki introduces the features of the J501 carrier board and explains how to flash the Jetpack system onto the J501 carrier board. +title: Flash Jetpack +keywords: +- reServer +- Jetson +image: https://files.seeedstudio.com/wiki/wiki-platform/S-tempor.png +slug: /reserver_j501_getting_started +last_update: + date: 08/19/2024 + author: Youjiang +--- + +# Getting Started with reServer J501 + +
+ +
+ +
+ + Get One Now 🖱️ + +
+ +The J501 carrier board is a powerful extension board that supports NVIDIA Jetson AGX Orin modules. It features rich data ports and extension interfaces, completely unleashed the full performance of the AGX Orin module. Also it supports adding GMSL extension to connect up to 8 GMSL cameras. + +## Features + +- **Build most powerful AI computer for edge computing:** Design to intgerate with Jetson AGX Orin module, with up to 275 TOPS AI performance, 8 times AI performance compared to Jetson AGX Xavier. Power configurable between 15W and 60W. +- **High-speed interface support for multiple sensors:** 22 lanes of PCIe Gen4, 1x 10GbE, a Display Port, 16 lanes of MIPI CSI-2, USB 3.2 interfaces, and a 40-pin header. +- **Low-speed interface support for multiple IO:** 4x DI, 4x DO, 3x GND_DI, 2x GND_DO, 1x GND_ISO, 1x CAN, 1x RS232/RS422/RS485. + + + +## Specifications + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
I/OEthernet 1x LAN0 RJ45 GbE (10/100/1000Mbps),
1x LAN RJ45 GbE PoE(PSE 802.3 af 15 W, 10/100/1000Mbps)
USB 3x USB3.1,
1x USB3.1 Type C(Host mode),
1x USB2.0 Type C(Device mode)
DI/DO 4x DI,4x DO,3x GND_DI,2x GND_DO,1x GND_ISO,1x CAN +1x RS232/RS422/RS485
Display 1x HDMI 2.1 Type A 7680x4320
SATA 2x SATA III 6.0Gbps at 30 Hz
SIM 1x Nano SIM card slot
Button Reset Button, Recovery Button
Expansion Mini PCIE 1x Mini PCIe for LoRaWAN®/4G/Series Wireless (Module not included)
M.2 Key B 1x M.2 Key B (3042/3052) support 4G/5G (Module not included)
M.2 Key E 1x M.2 Key E
M.2 Key M 1x M.2 Key M (PCIE 4.0)
Fan 1x Fan connectors (5V PWM)
TPM 1x TPM 2.0 connector (Module not included)
RTC 1x RTC socket (CR1220 included),
1x RTC 2-pin
Camera 2x Expansion connector (8lanes for each connector)
PCIE 1x PCIE
Power Power Supply DC 12V-36V Terminal block 2 pin (included 24V/5A Power Adapter)
Mechanical Dimensions (W x D) 176 x 163mm (Module not included)
Operating Temerature -20~60℃
Weight 225g (Module not included)
+
+ +## Hardware Overview + +
+ +
+ + +## Flash JetPack OS to J501 Carrier Board + +Here, we will show you how to flash [Jetpack](https://developer.nvidia.com/embedded/jetson-linux-archive) to an NVMe SSD connected to the reServer J501. + +### Supported Module +- [NVIDIA® Jetson AGX Orin™ Module 32GB](https://www.seeedstudio.com/NVIDIA-Jetson-AGX-Orin-Module-32GB-p-5458.html) +- [NVIDIA® Jetson AGX Orin™ Module 64GB](https://www.seeedstudio.com/NVIDIA-JETSON-AGX-ORIN-64GB-Module-p-5552.html) + +### Prerequisites + +- Ubuntu host PC +- reServer J501 Carrier Board +- NVIDIA® Jetson AGX Orin™ Module 32GB/64GB +- AGX Orin Active Fan +- NVMe M.2 2280 Internal SSD +- USB Type-C data transmission cable + +:::note +We do not recommend using virtual machines and ARM architecture Ubuntu for flashing. +::: + +### Prepare the Jetpack Image + +Here, we need to download the system image to our Ubuntu PC corresponding to the Jetson module we are using: + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Jetpack VersionJetson Module GMSL Download Link
5AGX Orin 32GBDownload
AGX Orin 32GBDownload
AGX Orin 64GBDownload
AGX Orin 64GBDownload
+
+ +:::danger +The image file is approximately 4.5GB in size and should take around 15 minutes to download. Please kindly wait for the download to complete. +::: + +### Enter Force Recovery Mode + +:::info +Before we can move on to the installation steps, we need to make sure that the board is in force recovery mode. +::: + +
+ +
+ +
+ + Step-by-Step + +**Step 1.** Press and hold the force recovery button without releasing it. + +
+ +
+ +**Step 2.** Power up the carrier board by connecting the power cable. + +**Step 3.** Release the force recovery button. + +**Step 4.** Connect the board to the Ubuntu host PC with a USB Type-C data transmission cable. + +**Step 5.** On the Linux host PC, open a Terminal window and enter the command `lsusb`. If the returned content has one of the following outputs according to the Jetson SoM you use, then the board is in force recovery mode. + +- For AGX Orin 32GB: **0955:7223 NVidia Corp** +- For AGX Orin 64GB: **0955:7423 NVidia Corp** + +The below image is for AGX Orin 32GB + +
+ +
+ +
+ +### Flash to Jetson + +**Step 1:** Extract the downloaded image file: + +```bash +cd +sudo tar xpf mfi_xxxx.tar.gz +# For example: sudo tar xpf mfi_recomputer-orin-nano-8g-j401-6.0-36.3.0-2024-06-07.tar.gz +``` + +**Step 2:** Execute the following command to flash jetpack system to the NVMe SSD: + +```bash +cd mfi_xxxx +# For example: cd mfi_recomputer-orin-j401 +sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --massflash 1 --network usb0 --showlogs +``` + +You will see the following output if the flashing process is successful + +
+ +:::note +The flash command may run for 2-10 minutes. +::: + +**Step 3:** Connect the J501 to a display using the HDMI connector on the board and finish the initial configuration setup: + +
+ +
+ +:::info +Please complete the **System Configuration** according to your needs. +::: + +**Step 4 (Optional):** Install Nvidia Jetpack SDK + +Please open the terminal on the Jetson device and execute the following commands: + +```bash +sudo apt update +sudo apt install nvidia-jetpack +``` + +## Tech Support & Product Discussion + +Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs. + +
+ + +
+ +
+ + +
\ No newline at end of file diff --git a/docs/Edge/NVIDIA_Jetson/reServer_Jetson_Series/reServer_J2032/reServer_J2032_Getting_Started.md b/docs/Edge/NVIDIA_Jetson/reServer_Jetson_Series/reServer_J2032/reServer_J2032_Getting_Started.md index 7f2b3971c923..9aa349ae113f 100644 --- a/docs/Edge/NVIDIA_Jetson/reServer_Jetson_Series/reServer_J2032/reServer_J2032_Getting_Started.md +++ b/docs/Edge/NVIDIA_Jetson/reServer_Jetson_Series/reServer_J2032/reServer_J2032_Getting_Started.md @@ -14,7 +14,7 @@ last_update: reServer J2032 is the new powerful Edge AI compute device that we proudly introduced to our reThings family, it adopted the sleek reServer form-factor case design which packed the powerful unit in an extremely compact shape. This smart tiny server is not only able to work easily and efficiently from the edge to the cloud but also adding AI processing power into the formula. -reServer J2032 is equipped with the cutting edge Nvidia Jetson™ Xavier NX 16GB Module (Optinal Jetson™ Xavier NX 8GB Module) which can deliver up to 21 TOPS for processing common AI tasks, the extensive amount of GPU RAM allows parallel multi neural network process, It has dual Ethernet ports with consist of one high-speed 2.5 Gigabit Ethernet port and a 1 Gigabit and also supports hybrid connectivity including 5G, LoRa®, BLE and WiFi. reServer 2032 alsoHaving dual SATA III 6.0Gbps data connectors, is able to equip up to two 3.5"/2.5" SATA internal hard disk drives to acquire more storage. +reServer J2032 is equipped with the cutting edge Nvidia Jetson™ Xavier NX 16GB Module (Optinal Jetson™ Xavier NX 8GB Module) which can deliver up to 21 TOPS for processing common AI tasks, the extensive amount of GPU RAM allows parallel multi neural network process, It has dual Ethernet ports with consist of one high-speed 2.5 Gigabit Ethernet port and a 1 Gigabit and also supports hybrid connectivity including 5G, LoRa® and BLE. reServer 2032 alsoHaving dual SATA III 6.0Gbps data connectors, is able to equip up to two 3.5"/2.5" SATA internal hard disk drives to acquire more storage. Meanwhile, reServer is of compact design to work efficiently in almost any server scenario. The neat structure of reServer also makes it simple to access to the hard drives, and extensive communication module extension slots which allows easy installation, upgrades and maintenance. @@ -32,7 +32,7 @@ Having dual SATA III 6.0Gbps data connectors, reServer is able to equip up to tw - Compact design for a desktop server with an overall dimension of 132mm x124mm x233mm - Powered by the Nvidia Jetson™ Xavier NX 16Gb Module. - Rich peripherals including dual LAN port(1 x 2.5Gigabit port and 1 x 1 Gigabit port) , 2 x USB 3.2 gen 2 Type-A, HDMI port and DP port, 1 x M.2 Key B, 1 x Mini-PCIe port. -- Support hybrid connectivity including 5G, LoRa®, BLE and WiFi (5G and LoRa® need additional modules) +- Support hybrid connectivity including 5G, LoRa® and BLE (5G and LoRa® need additional modules) - Dual SATA III 6.0 Gbps data connectors for 3.5"/2.5" SATA hard disk drives with enough space inside the enclosure to store them both - M.2 B-Key for expandability such as 4G/5G modules. - Mini-PCIe port for expandability such as 4G/5G modules and LoRaWAN® module(**WM1302-USB-XXXX**) diff --git a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/recomputer_r1000_balena.md b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/balenaOS/recomputer_r1000_balena.md similarity index 100% rename from docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/recomputer_r1000_balena.md rename to docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/balenaOS/recomputer_r1000_balena.md diff --git a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/balenaOS/recomputer_r1000_build_seeed_balena_image.md b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/balenaOS/recomputer_r1000_build_seeed_balena_image.md new file mode 100644 index 000000000000..c995845b630e --- /dev/null +++ b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/balenaOS/recomputer_r1000_build_seeed_balena_image.md @@ -0,0 +1,168 @@ +--- +description: This tutorial will show you how to compile, configure and burn balenaOS for R1000. +title: Build balenaOS for reComputer R1000 +keywords: + - Edge + - reComputer R1000 + - balena +image: https://files.seeedstudio.com/wiki/wiki-platform/S-tempor.png +slug: /build_balenaOS_for_reComputer_r1000 +last_update: + date: 08/19/2024 + author: ShuishengPeng +--- + +## What is balena? + +[balena](https://www.balena.io/) is an Internet of Things (IoT) platform designed to help developers build, deploy, and manage IoT applications across a fleet of devices. It supports a wide range of device architectures and includes features for containerized application deployment, making it possible to easily update your IoT software and HostOS, fix bugs and introduce new features on your IoT applications. balena provides a unified way to push code updates, manage device configurations and ensure devices run reliably and securely in the field, regardless of their location or network conditions. + +This tutorial will show you how to compile, configure and burn balenaOS for R1000. +
pir
+ +## Getting Start + +Before you start this project, you may need to prepare your hardware and software in advance as described here. + +### Hardware Preparation + +
+ + + + + + + + + + + + +
reComputer R1000
+
+ +### Software + +* [yocto](https://docs.yoctoproject.org/4.0.20/brief-yoctoprojectqs/index.html) environment +* [docker](https://www.docker.com/) environment +* [balenaEtcher](https://etcher.balena.io/) to flash the CM4 memory. + + +### Hardware Configuration + +**Step 1**: You need to set the switch on the side of the R1000 to boot mode, then power on the device + +
+ +| Switch Position | Mode | Description | nRPI-BOOT | +| ------------------------------------------------------------ | ----------- | -------------- | --------- | +| image | Normal mode | Boot from eMMC | Low | +| image | Flash mode | Boot from USB | High | + +
+ +**Step 2**: Please use a USB Type-c cable to connect reComputer R1000 to your computer. + +
pir
+ +### Compile R1000-balenaOS +**Step 1**: Download the following libraries and ensure that the current environment supports compiling the yocto project +```shell + sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 python3-subunit zstd liblz4-tool file locales libacl1 jq nodejs npm + sudo locale-gen en_US.UTF-8 +``` + +**Step 2**: Enter the following instructions to download and configure `balena-seeed-cm4`, and finally compile the yocto project. +```shell + git clone https://github.com/Seeed-Studio/balena-seeed-cm4.git + cd balena-seeed-cm4 + git submodule update --init --recursive + ./balena-yocto-scripts/build/barys --dry-run + source layers/poky/oe-init-build-env + MACHINE=seeed-recomputer-r100x bitbake balena-image +``` + +
pir
+ + +### Configure R1000-balenaOS +**Step 1**: Enter the directory where the compiled image is located, then enter the command line interface, enter `balena login`, and log in to `balena Cloud`. + +
pir
+ +**Step 2**: Create a new `Fleet`, select the type as `Raspberry Pi 4 (using 64bit os)` + +
pir
+ +**Step 3**: Enter the following command to preload the image +```shell + balena preload ./balena-image-seeed-recomputer-r100x.balenaos-img --fleet [fleet name] +``` + +
pir
+ +**Step 4**: Register the new device with Fleet and generate a device ID +```shell +balena device register [fleet name] +``` + +
pir
+ +**Step 5**: Generate configuration file. +```shell +balena config generate --device [uuid] --version 3.0.15+atsss --dev -o config.json +``` + +
pir
+ +**Step 6**: Load the configuration file. +```shell +balena os configure balena-image-seeed-recomputer-r100x.balenaos-img --config config.json --device [uuid] --version 3.0.15+atsss --dev +``` + +
pir
+ +**Step 7**: Copy the final image file,this image can be burned into reComputer R1000 +```shell +cp balena-image-seeed-recomputer-r100x.balenaos-img recomputer_balenaos-dev.img +``` + +
pir
+ +### Steps for Flashing balena OS + +**Step 1**: Open the [**rpiboot**](https://github.com/raspberrypi/usbboot/raw/master/win32/rpiboot_setup.exe) software, and then the system will show the new disk + +**Step 2**: Open the flash tool [balenaEtcher](https://etcher.balena.io/), select the balena image file, then select the target disk, and finally click Burn. + +
pir
+ +**Step 3**: After the burning is completed, restart the R1000. After a while, you will see the new device successfully online on the balena Cloud. + +
pir
+ + +:::note +To use the rs485 function, you need to open the power pin of the 485 transceiver. This can be achieved through the following three lines of commands. We recommend that you write these three lines of commands into the startup script: +```shell + echo 500 > /sys/class/gpio/export + echo out > /sys/class/gpio/gpio500/direction + echo 1 > /sys/class/gpio/gpio500/value +``` +::: + +## Tech Support & Product Discussion + +Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs. + +
+ + +
+ +
+ + +
\ No newline at end of file diff --git a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/recomputer_r1000_assembly_guide.md b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/recomputer_r1000_assembly_guide.md index 4ce22a836d87..09bc13c34b33 100644 --- a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/recomputer_r1000_assembly_guide.md +++ b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/recomputer_r1000_assembly_guide.md @@ -44,6 +44,9 @@ You need to prepare the following hardware Following these steps should help you disassemble the device without any issues. +
+ + **STEP 1:** Remove the Four Screws at the Bottom and Grounding Screw from Side Panels: - Locate and unscrew the four screws located at the bottom of the device using an appropriate screwdriver. @@ -72,8 +75,12 @@ Following these steps should help you disassemble the device without any issues.
+ + ### Assemble SSD +
+ **STEP 1:** Remove the back cover following the disassembly guide. **STEP 2:** Load the SSD into the M.2 socket and lock the screws. @@ -82,6 +89,8 @@ Following these steps should help you disassemble the device without any issues. ### Assemble Wi-Fi/BLE Antenna +
+ **STEP 1:** Disassemble the entire device following section [Disassembly Guide](/recomputer_r1000_assembly_guide/#assembly--disassembly-guide). **STEP 2:** Connect the feeder line from the CM4 module to antenna hole following the illustrastions below. @@ -90,8 +99,16 @@ Following these steps should help you disassemble the device without any issues.
+### Install LTE and GNSS Antenna + +
+ ### Assemble 4G/LoRa®/Zigbee Module and Antenna +
+ + + **STEP 1:** Make sure the module for Mini-PCIe slots is loaded above the SSD card. **STEP 2:** Load the 4G module/LoRa® Module/Zigbee Module(following the matching relationship of each slot according to section"2.2.8") into the Mini-PCIe slot and lock the screws. @@ -103,6 +120,8 @@ Following these steps should help you disassemble the device without any issues. ### Assemble TPM 2.0 Module +
+ **STEP 1:** Remove the back cover following the disassembly guide. **STEP 2:** Load the TPM 2.0 module into the J13 socket. @@ -111,6 +130,8 @@ Following these steps should help you disassemble the device without any issues. ### Assemble UPS and PoE module +
+ **STEP 1:** Before installing the UPS and PoE module on the CM4 module side of board, disassemble the entire device following the disassembly guide provided. **STEP 2:** diff --git a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/recomputer_r1000_how_to_use_rs485_modbus.md b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/recomputer_r1000_how_to_use_rs485_modbus.md index 8149289442a8..a27de1056dc9 100644 --- a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/recomputer_r1000_how_to_use_rs485_modbus.md +++ b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/recomputer_r1000_how_to_use_rs485_modbus.md @@ -15,11 +15,9 @@ last_update: ## Introduction This article mainly introduces how to use the 485 communication function of reComputer R1000, and tests the RS485 and Modbus communication functions. -The work to use the RS485 function mainly lies in two points: -- Turn on power to the 485 transceiver. By default the r1000 does not have the power pin turned on, so turn it on when needed -- Controls the DE pin of the 485 transceiver, which is used by the device to switch between data sending mode and receiving mode. By default, R1000 does not control the DE pin, so when the user does not control this pin, the 485 can only communicate in one direction. +We need to control the DE pin of the 485 transceiver, which is used by the device to switch between data sending mode and receiving mode. By default, R1000 does not control the DE pin, so when the user does not control this pin, the 485 can only communicate in one direction. -We wrote a [**C program**](https://github.com/Seeed-Studio/seeed-linux-dtoverlays/tree/master/tools/rs485_control_DE) to turn on the power and manage the DE pin, If your application is only responsible for receiving/sending data, you can use this program to ensure that the sending and receiving of the RS485 interface is normal. +We wrote a [**C program**](https://github.com/Seeed-Studio/seeed-linux-dtoverlays/tree/master/tools/rs485_control_DE) to manage the DE pin, If your application is only responsible for receiving/sending data, you can use this program to ensure that the sending and receiving of the RS485 interface is normal. - In addition to the methods mentioned in this article, we also provide a script that you can execute using the following command. This script can automatically create a new /dev/ttyx and then use the newly created device number to perform rs485/modbus rtu communication is enough ```shell curl -sSL https://raw.githubusercontent.com/Seeed-Projects/R1000-RS485-Util/main/setup_rs485.sh | sudo bash @@ -78,7 +76,7 @@ git clone https://github.com/Seeed-Studio/seeed-linux-dtoverlays cd seeed-linux-dtoverlays/tools/rs485_control_DE/ sudo apt-get install libgpiod-dev gcc -o rs485_DE rs485_DE.c -lgpiod -sudo ./rs485_DE /dev/ttyAMA2 /dev/gpiochip0 6 /dev/ttyAMA10 /dev/gpiochip2 12 +sudo ./rs485_DE /dev/ttyAMA2 /dev/gpiochip0 6 /dev/ttyAMA10 ``` This program will create a new ttyAMAx device, where the device number depends on the parameters you enter when running the program. @@ -104,22 +102,11 @@ Among them, `-D` is followed by the device number you want to open, `-b` refers :::note - The above example shows how to use one RS485 interface. If you want to use three 485 interfaces, you can use the following script to achieve it: ```shell -sudo ./rs485_DE /dev/ttyAMA2 /dev/gpiochip0 6 /dev/ttyAMA10 /dev/gpiochip2 12 & +sudo ./rs485_DE /dev/ttyAMA2 /dev/gpiochip0 6 /dev/ttyAMA10 & sudo ./rs485_DE /dev/ttyAMA3 /dev/gpiochip0 17 /dev/ttyAMA11 & sudo ./rs485_DE /dev/ttyAMA5 /dev/gpiochip0 24 /dev/ttyAMA12 & ``` ttyAMA10~ttyAMA12 corresponds to ttyAMA2~ttyAMA5 one-to-one. Use ttyAMA10~ttyAMA12 in your application for normal communication (ttyAMA2~ttyAMA5 cannot be used, you need to use the device number newly created by the script) -- If you just want to power on the RS485 transceiver, you can do it using the following script: -```shell -echo 590 > /sys/class/gpio/export -echo out > /sys/class/gpio/gpio590/direction -echo 1 > /sys/class/gpio/gpio590/value -``` -At this time, the RS485 transceiver is turned on normally, but the DE pin is not controlled.If you want to use our c program to control the DE pin after executing these three commands, please restart or execute the following script: -```shell -echo 590 > /sys/class/gpio/unexport -``` -This is because they use different file systems and there will be conflicts when accessing the same resource. ::: ## Steps to use the Modbus TCP testing diff --git a/docs/Network/Meshtastic_Network/sensecap_t1000_e.md b/docs/Network/Meshtastic_Network/sensecap_t1000_e.md index 94fe3a3c1bbe..7bcc06ba6dfe 100644 --- a/docs/Network/Meshtastic_Network/sensecap_t1000_e.md +++ b/docs/Network/Meshtastic_Network/sensecap_t1000_e.md @@ -56,7 +56,6 @@ It is a high-performance tracker designed for Meshtastic, as small as a credit c | :- | :- | |**Temperature**|

Range: -20 to 60℃;

Accuracy: ± 1℃ (min ±0.5℃, max ±1℃)

Resolution: 0.1℃

| |**Light**|0 to 100% (0% is dark, 100% is brightest)| -|**3-Axis Accelerometer**|3-Axis Accelerometer to detect movement| |**LED and Buzzer**|1\*LED and 1\* buzzer to indicate status| |**Button**|1\* Button to operate| |**Antenna**|Internal (GNSS/LoRa/Wi-Fi/BLE)| @@ -77,12 +76,38 @@ It is a high-performance tracker designed for Meshtastic, as small as a credit c |**Power Input Voltage**|4\.7 to 5.5V DC| |**Charging Temperature Limit**|0 to +45℃| - ### Hardware overview

pir

+### PIN + +|Power to Sensor|P0.4|GPIO| +|- |- |- | +|Temperature|P0.31|NTC (analog)| +|Light|P0.29|LUX(analog)| +|3-Axis Accelerometer
(Not currently used in the Meshtastic firmware)|SDA: P0.26
SCL: P0.27|Via IIC| +|Power to Accelerometer|P1.7|GPIO| +|LED|P0.24 |GPIO| +|Buzzer|P0.25|GPIO| +|Enable Buzzer|P1.05|GPIO| +|Button|P0.6|GPIO| +|Power to sensor|P1.6|GPIO| +|LR1110|P1.08: SPI MISO
P1.09: SPI MOSI
P0.11: SPI Clock
P0.12: SPI NSS
P1.10: LoRa Reset
P1.01: LoRa DIO1
P0.07: LoRa DIO2
LR11X0\_DIO3\_TCXO\_VOLT
AGE 1.6V|SPI| +|GPS|RX: P0.14
TX: P0.13|Serial1
BAUDRATE:115200| + + + + +### Button + +|Button action|Description|Buzzer|LED| +|- |- |- |- | +|Press once|Power on|Rising melody|The led lights up and then flashes quickly| +|Press twice|Update node/location info|-|-| +|Press three times|Switch on/off the GPS|-|-| +|Press and hold for 5s|Power off|Falling melody|| ## Get Started @@ -196,6 +221,23 @@ Refer to [LoRa Region by Country](https://meshtastic.org/docs/configuration/regi Now that you have set the LoRa region on your device, you can continue with configuring any [additional configs](https://meshtastic.org/docs/configuration/) to suit your needs. +## Flash firmware + + + +* **Step 1**: Enter DFU mode +Connect the USB cable to your PC, press and hold the device button, then **quickly** connect the charging cable twice, the LED will be solid on, the device will enter the DFU mode, and there should be a driver named `T1000-E` display. + +

pir

+ + +

pir

+ +* **Step 2**: Copy UF2 file + +Download and Copy UF2 file to the DFU drive. Firmware should be flashed after the file is downloaded and the device reboots. + +* [Application Firmware](https://files.seeedstudio.com/wiki/SenseCAP/Meshtastic/firmware-t1000-e-2.4.0.46d7b82_Alpha_pre_release.uf2)(Recommended version) ## FAQ @@ -209,11 +251,15 @@ Click `Open Serial Monitor`, connect the device, and you will see the device nam

pir

+* **How to check the battery?** +Visit [Meshtastic Web Flasher](https://flasher.meshtastic.org/), check the log, keyword `batPct`. +

pir

## Resource +[T1000-E Bootloader](https://github.com/adafruit/Adafruit_nRF52_Bootloader/tree/master/src/boards/t1000_e) [Meshtastic Doc](https://meshtastic.org/docs/introduction/) diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md index d84f1af866ed..a58b2cf19781 100644 --- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md @@ -261,7 +261,7 @@ If you need to know the detailed parameter information of ov5640, you can refer All the programs about cameras in the Wiki are compatible with both OV5640 and OV2640 cameras. ::: - +After installation, ensure everything is properly secured with no risk of short circuits. Verify that the heat sink is properly aligned and securely attached. ### Software Preparation diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3_Sense/XIAO_ESP32S3_Sense_camera.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3_Sense/XIAO_ESP32S3_Sense_camera.md index bf4702ffc219..d87c850f40c0 100644 --- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3_Sense/XIAO_ESP32S3_Sense_camera.md +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3_Sense/XIAO_ESP32S3_Sense_camera.md @@ -1160,12 +1160,22 @@ At the end of this tutorial, let's show a video streaming project. This project You can find the complete program code and the required dependency files below this link. +If you are using the esp32 boards package with **2.0.x** version on Arduino. Please download with: +
Download the Code
+If you are using the esp32 boards package with **3.0.x** version on Arduino. Please download with: + +
+ + Download the Code + +
+ Here is the Arduino program for this project. ```cpp diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RA4M1/XIAO_RA4M1_Pin_Multiplexing.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RA4M1/XIAO_RA4M1_Pin_Multiplexing.md new file mode 100644 index 000000000000..16ac987133f7 --- /dev/null +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RA4M1/XIAO_RA4M1_Pin_Multiplexing.md @@ -0,0 +1,772 @@ +--- +description: Pin multiplexing with Seeed Studio XIAO RA4M1. +title: Pin Multiplexing with Seeed Studio XIAO RA4M1 +keywords: +- ra4m1 +- xiao +- pin multiple +image: https://files.seeedstudio.com/wiki/XIAO-R4AM1/img/1-102010551-Seeed-Studio-XIAO-RA4M1.jpg +side_position: 1 +slug: /xiao_ra4m1_pin_multiplexing +last_update: + date: 08/15/2024 + author: Jason +--- + +## Digital + +The XIAO RA4M1 has up to 11 regular GPIO pins and 6 analog pins. In this example, we will use the XIAO RA4M1, XIAO expansion board, and a relay to demonstrate how to use different digital pins for reading and writing. + +### Hardware Preparation + + + + + + + + + + + + + + + + + +
Seeed Studio XIAO R4M1Seeed Studio Expansion Base for XIAO with Grove OLEDGrove - Relay
+ +Please install XIAO RA4M1 or Sense onto the expansion board, and connect the relay to the **A0/D0** interface of the expansion board via a Grove cable. Finally, connect XIAO to the computer via a USB-C cable. + +### Software Implementation + +In this example, we will implement control of a relay's on/off state using a button connected to the XIAO expansion board. When the button is pressed, the relay turns on, and when the button is released, the relay turns off. + +```c +const int buttonPin = D1; // the number of the pushbutton pin +int buttonState = 0; // variable for reading the pushbutton status +const int relayPin = D0; + +void setup() { + // initialize the Relay pin as an output: + pinMode(relayPin, OUTPUT); + // initialize the pushbutton pin as an input: + pinMode(buttonPin, INPUT_PULLUP); +} + +void loop() { + // read the state of the pushbutton value: + buttonState = digitalRead(buttonPin); + + // check if the pushbutton is pressed. If it is, the buttonState is HIGH: + if (buttonState == HIGH) { + // turn Relay on: + digitalWrite(relayPin, HIGH); + } else { + // turn Relay off: + digitalWrite(relayPin, LOW); + } +} +``` + +If everything goes smoothly, after uploading the program, you should see the following effect. + +
+ +## Digital as PWM + +All GPIO pins on XIAO RA4M1 support PWM output. Therefore, you can use any pin to output PWM to adjust the brightness of lights, control servos, and other functions. + +### Hardware Preparation + + + + + + + + + + + + + + + + + +
Seeed Studio XIAO RA4M1Seeed Studio Expansion Base for XIAO with Grove OLEDGrove - Variable Color LED
+ +Please install XIAO RA4M1 or Sense onto the expansion board, then connect the Variable Color LED to the A0/D0 interface of the expansion board using a Grove cable. Finally, connect XIAO to your computer via USB-C cable. + +### Software Implementation + +In this example, we will demonstrate how to use PWM output to control the brightness of a light. + +```cpp +int LED_pin = D0; // LED connected to digital pin 10 + +void setup() { + // declaring LED pin as output + pinMode(LED_pin, OUTPUT); +} + +void loop() { + // fade in from min to max in increments of 5 points: + for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 3) { + // sets the value (range from 0 to 255): + analogWrite(LED_pin, fadeValue); + // wait for 30 milliseconds to see the dimming effect + delay(30); + } + + // fade out from max to min in increments of 5 points: + for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 3) { + // sets the value (range from 0 to 255): + analogWrite(LED_pin, fadeValue); + // wait for 30 milliseconds to see the dimming effect + delay(30); + } +} +``` + +If the program runs successfully, you will see the following running effect. + +
+ +## Analog + +XIAO RA4M1 Development Board Having up to 14 bit ADC for high-resolution reading of analog sensor values , it can help us to read more accurate values . The analog-to-digital converter(ADC) on an XIAO RA4M1 Development board . By Default , the resolution is set 10-bit , which can be to both 12-bit and 14-bit resolution for improved accuracy on analog readings + +Detail Datas by ADC accuracy +- 10-bit : 0~1024 +- 12-bit : 0~4096 +- 14-bit : 0~16383 + +Next , We will choose two sensors to reflect the characteristics of ADC . + +### Hadware Preparation + + + + + + + + + + + + + + + + + + + + +
Seeed Studio XIAO RA4M1Grove-Variable Color LEDGrove-Rotary Angle Sensor Grove-Rotary Angle Sensor
+ + +### Software Implementation + +``` cpp +#define ADC_Bit_Fourteen 14 +#define ADC_Bit_Twelve 12 +#define ADC_Bit_Ten 10 + +const int analogInPin = A1; // Analog input pin that the potentiometer is attached to +const int analogOutPin = 9; // Analog output pin that the LED is attached to + +int sensorValue = 0; // value read from the pot +int outputValue = 0; // value output to the PWM (analog out) + +void setup() { + + Serial.begin(115200); + // Ten_Bite_ADC_Config(); // 10bit + // Twelve_Bite_ADC_Config(); // 12bit + Fourteen_Bite_ADC_Config(); // 14bit + +} + +void loop() { + sensorValue = analogRead(analogInPin); + outputValue = map(sensorValue, 0, 4095, 0, 255); + analogWrite(analogOutPin, outputValue); + + Serial.print("sensor = "); + Serial.print(sensorValue); + Serial.print("\t output = "); + Serial.println(outputValue); + delay(100); +} + +void Ten_Bite_ADC_Config() { + analogReadResolution(ADC_Bit_Ten); +} + +void Twelve_Bite_ADC_Config() { + analogReadResolution(ADC_Bit_Twelve); +} + +void Fourteen_Bite_ADC_Config() { + analogReadResolution(ADC_Bit_Fourteen); +} +``` +If everything goes smoothly, after uploading the program, you should see the following effect. + +
+ +## Serial + +When working with Arduino IDE, Serial communication is an essential part of many projects. To +use Serial in Arduino IDE, you need to start by opening the Serial Monitor window. This can be done by clicking on the **Serial Monitor** icon in the toolbar or by pressing the **Ctrl+Shift+M** shortcut key. + +### General Usage + +Some of the commonly used Serial functions include: + +- `Serial.begin()` -- which initializes the communication at a specified baud rate; +- `Serial.print()` -- which sends data to the Serial port in a readable format; +- `Serial.write()` -- which sends binary data to the Serial port; +- `Serial.available()` -- which checks if there is any data available to be read from the Serial port; +- `Serial.read()` -- which reads a single byte of data from the Serial port; +- `Serial.flush()` -- which waits for the transmission of outgoing serial data to complete. + +By using these Serial functions, you can send and receive data between the Arduino board and your computer, which opens up many possibilities for creating interactive projects. + +Here is an example program: + +```c +void setup() { + // initialize serial communication at 9600 bits per second: + Serial.begin(9600); +} + +void loop() { + // send data to the serial port + Serial.println("Hello World!"); + + // read data from the serial port + if (Serial.available() > 0) { + // read the incoming byte: + char incomingByte = Serial.read(); + // print the incoming byte to the serial monitor: + Serial.print("I received: "); + Serial.println(incomingByte); + } + + // wait for a second before repeating the loop + delay(1000); +} +``` + +### Usage of Serial1 + +According to the above XIAO RA4M1 Pin diagrams for specific parameters,we can observe that there are TX pin and RX pin,This is different from serial communication, but the usage is also very similar, except that a few parameters need to be added,So nex,we will use the pins led out by the chip for serial communication + +```c + +#define BAUD 115200 + +void setup() { + Serial1.begin(BAUD); +} + +void loop() { + if(Serial1.available() > 0) + { + char incominByte = Serial1.read(); + Serial1.print("I received : "); + Serial1.println(incominByte); + } + delay(1000); +} +``` + +### Usage of Software Serial + +```c +#include + +SoftwareSerial mySerial(2, 3); // RX, TX + +void setup() { + // initialize serial communication + Serial.begin(9600); + while (!Serial); + + // initialize software serial + mySerial.begin(9600); +} + +void loop() { + // read data from software serial + if (mySerial.available()) { + char data = mySerial.read(); + Serial.print("Received data: "); + Serial.println(data); + } + + // write data to software serial + mySerial.print("Hello World!"); + + // wait for a second before repeating the loop + delay(1000); +} +``` + +In this program, we first include the `SoftwareSerial.h` library to use software serial. Then, we create a new SoftwareSerial object called mySerial using pins 2 and 3 as RX and TX, respectively. + +In the `setup()` function, we initialize both the hardware serial (`Serial.begin()`) and the software serial (`mySerial.begin()`). + +In the `loop()` function, we use the `mySerial.available()` function to check if there is any data available to be read from the software serial. If there is, we read the incoming byte using the `mySerial.read()` function and store it in a variable called data. We then use the `Serial.print()` and `Serial.println()` functions to print "Received data: " followed by the value of data to the hardware serial. + +We also use the `mySerial.print()` function to write "Hello World!" to the software serial. This will send the data from the XIAO to the device connected to the software serial port. + +Finally, we add a `delay()` function to wait for one second before repeating the loop. + +## IIC + +XIAO RA4M1 has an I2C interface that can be used for data transmission and parsing of many sensors, as well as for using some OLED screens. + +### Harware Preparation + + + + + + + + + + + + + + +
Seeed Studio XIAO RA4M1Seeed Studio Expansion Base for XIAO with Grove OLED
+ +The OLED display on the XIAO expansion board uses the I2C protocol and is connected to the XIAO's I2C interface through the I2C circuit on the board. Therefore, we can directly plug the XIAO into the expansion board and program it to display content on the screen. + +### Software Implementation + +This example introduces how to use the OLED display on the Seeed Studio Expansion Base for XIAO RA4M1. + +#### Step 1. Install the Seeed Studio XIAO RA4M1 on the Expansion board then conect the Type-C cable. + +#### Step 2. Install the u8g2 library. + + + +#### Step 3. Copy the code and stick on the Ardiono IDE then upload it. + +```c +#include +#include +#include + +U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // OLEDs without Reset of the Display + +void setup(void) { + u8x8.begin(); + u8x8.setFlipMode(1); // set number from 1 to 3, the screen word will rotary 180 +} + +void loop(void) { + u8x8.setFont(u8x8_font_chroma48medium8_r); + u8x8.setCursor(0, 0); + u8x8.print("i'm XIAO RA4M1"); +} +``` + +In the first few lines of the code, we include the required libraries such as Arduino.h, U8x8lib.h, and Wire.h. The U8x8lib.h library provides functions to control the OLED display, and the Wire.h library provides functions for I2C communication. + +In the `setup()` function, we initialize the OLED display using the `u8x8.begin()` function. We also set the flip mode of the display using the `u8x8.setFlipMode()` function to rotate the screen 180 degrees. + +In the `loop()` function, we set the font using the `u8x8.setFont()` function and specify the position of the cursor on the display using the `u8x8.setCursor()` function. Finally, we use the `u8x8.print()` function to display the string "Hello World!" on the OLED display. + +If you upload a program to XIAO RA4M1, you will see content displayed on the OLED display screen on the expansion board. + +
+ +## SPI + +The RA4M1 chip integrates multiple peripherals, including an SPI interface that can be used to connect external SPI devices such as flash memory, displays, sensors, and more. The XIAO RA4M1 also supports high-speed SPI transfer mode, which can achieve a maximum SPI transfer rate of 80 MHz, meeting the data transfer needs of most SPI devices. + +### Hadware Preparation + + + + + + + + + + + + + + +
Seeed Studio XIAO RA4M1Grove - OLED Display 1.12 (SH1107) V3.0 - SPI/IIC
+ +After preparing the hardware as mentioned above, use jumper wires to connect the SPI interface of the XIAO and OLED. Please refer to the following diagram for the wiring method. + + +### Software Implementation + +Next, we will take the following program as an example to introduce how to use the SPI interface to control the OLED screen display. + +Install the u8g2 library. + + + +```c +#include +#include +#include +#include + +U8G2_SH1107_128X128_1_4W_HW_SPI u8g2(U8G2_R3, /* cs=*/ D7, /* dc=*/ D4, /* reset=*/ D5); + +void setup(void) { + u8g2.begin(); +} + +void loop(void) { + u8g2.firstPage(); + + do { + u8g2.setFont(u8g2_font_luBIS08_tf); + u8g2.drawStr(0,24,"Hello Seeed!"); + } while ( u8g2.nextPage() ); +} +``` + +In the `setup()` function, the `U8G2_SH1107_128X128_1_4W_HW_SPI` class is instantiated with the appropriate constructor arguments that specify the pins used for chip select (cs), data/command (dc), and reset. Then, the `u8g2.begin()` function is called to initialize the display. + +In the `loop()` function, the display is updated with new content using the `u8g2.firstPage()`, `u8g2.setFont()`, and `u8g2.drawStr()` functions. The `u8g2.firstPage()` function sets up the display buffer for writing, while `u8g2.nextPage()` displays the updated content. The do-while loop ensures that the content is displayed continuously until the program is stopped. + +Overall, this code demonstrates how to use the U8g2 library to control an OLED display and display text on it. + +
+ + +## CAN + +### Hadware Preparation + + + + + + + + + + + + + + +
Seeed Studio XIAO RA4M1XIAO CAN Bus Expansion Board
+ +#### Step 1 . Prepare two CAN Bus Breakout Board and XIAO RA4M1 +#### Step 2 . Insert these two XIAO RA4M1 separately in CAN Bus Breakout Board +#### Step 3 . Prepare the DuPont line connection . + +
+ +### Software Implementation + +:::tip +It is not allowed to simultaneously power on and download programs for two XIAO RA4M1s, as this will result in errors when downloading the serial port. After downloading one, unplug it, then power on the other XIAO RA4M1 to download the program, and finally power on at the same time to check the serial port message +::: + +**CAN Write Code** +```c + +/* send a frame from can bus + + CAN Baudrate, + + #define CAN_5KBPS 1 + #define CAN_10KBPS 2 + #define CAN_20KBPS 3 + #define CAN_25KBPS 4 + #define CAN_31K25BPS 5 + #define CAN_33KBPS 6 + #define CAN_40KBPS 7 + #define CAN_50KBPS 8 + #define CAN_80KBPS 9 + #define CAN_83K3BPS 10 + #define CAN_95KBPS 11 + #define CAN_100KBPS 12 + #define CAN_125KBPS 13 + #define CAN_200KBPS 14 + #define CAN_250KBPS 15 + #define CAN_500KBPS 16 + #define CAN_666KBPS 17 + #define CAN_1000KBPS 18 +*/ + +#include +#include + +/* Please modify SPI_CS_PIN to adapt to your board. + + CANBed V1 - 17 + CANBed M0 - 3 + CAN Bus Shield - 9 + CANBed 2040 - 9 + CANBed Dual - 9 + OBD-2G Dev Kit - 9 + OBD-II GPS Kit - 9 + Hud Dev Kit - 9 + + Seeed Studio CAN-Bus Breakout Board for XIAO and QT Py - D7 +*/ + +#define SPI_CS_PIN D7 + +MCP_CAN CAN(SPI_CS_PIN); // Set CS pin + +void setup() +{ + Serial.begin(115200); + while(!Serial); + + // below code need for OBD-II GPS Dev Kit Atemga32U4 version + // pinMode(A3, OUTPUT); + // digitalWrite(A3, HIGH); + + // below code need for OBD-II GPS Dev Kit RP2040 version + // pinMode(12, OUTPUT); + // digitalWrite(12, HIGH); + + while (CAN_OK != CAN.begin(CAN_125KBPS)) // init can bus : baudrate = 500k + { + Serial.println("CAN BUS FAIL!"); + delay(100); + } + Serial.println("CAN BUS OK!"); +} + +unsigned char stmp[8] = {0, 1, 2, 3, 4, 5, 6, 7}; +void loop() +{ + CAN.sendMsgBuf(0x00, 0, 8, stmp); + delay(100); // send data per 100ms +} + +// END FILE + + + +**CAN Read Code** +```c +/* receive a frame from can bus + + CAN Baudrate, + + #define CAN_5KBPS 1 + #define CAN_10KBPS 2 + #define CAN_20KBPS 3 + #define CAN_25KBPS 4 + #define CAN_31K25BPS 5 + #define CAN_33KBPS 6 + #define CAN_40KBPS 7 + #define CAN_50KBPS 8 + #define CAN_80KBPS 9 + #define CAN_83K3BPS 10 + #define CAN_95KBPS 11 + #define CAN_100KBPS 12 + #define CAN_125KBPS 13 + #define CAN_200KBPS 14 + #define CAN_250KBPS 15 + #define CAN_500KBPS 16 + #define CAN_666KBPS 17 + #define CAN_1000KBPS 18 + + CANBed V1: https://www.longan-labs.cc/1030008.html + CANBed M0: https://www.longan-labs.cc/1030014.html + CAN Bus Shield: https://www.longan-labs.cc/1030016.html + OBD-II CAN Bus GPS Dev Kit: https://www.longan-labs.cc/1030003.html +*/ + +#include +#include "mcp_can.h" + +/* Please modify SPI_CS_PIN to adapt to your board. + + CANBed V1 - 17 + CANBed M0 - 3 + CAN Bus Shield - 9 + CANBed 2040 - 9 + CANBed Dual - 9 + OBD-2G Dev Kit - 9 + OBD-II GPS Kit - 9 + Hud Dev Kit - 9 + + Seeed Studio CAN-Bus Breakout Board for XIAO and QT Py - D7 +*/ + + +#define SPI_CS_PIN D7 + +MCP_CAN CAN(SPI_CS_PIN); // Set CS pin + + +void setup() +{ + Serial.begin(115200); + while(!Serial); + + // below code need for OBD-II GPS Dev Kit Atemga32U4 version + // pinMode(A3, OUTPUT); + // digitalWrite(A3, HIGH); + + // below code need for OBD-II GPS Dev Kit RP2040 version + // pinMode(12, OUTPUT); + // digitalWrite(12, HIGH); + + while (CAN_OK != CAN.begin(CAN_125KBPS)) // init can bus : baudrate = 500k + { + Serial.println("CAN BUS FAIL!"); + delay(100); + } + Serial.println("CAN BUS OK!"); +} + + +void loop() +{ + unsigned char len = 0; + unsigned char buf[8]; + + if(CAN_MSGAVAIL == CAN.checkReceive()) // check if data coming + { + CAN.readMsgBuf(&len, buf); // read data, len: data length, buf: data buf + + unsigned long canId = CAN.getCanId(); + + Serial.println("-----------------------------"); + Serial.print("Get data from ID: "); + Serial.println(canId, HEX); + + for(int i = 0; i + +*_Rceciver Code Result_ * +
+ +## Tech Support & Product Discussion + +. + +Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs. + +
+ + +
+ +
+ + +
+ diff --git a/docs/Sensor/SenseCAP/SenseCAP_T1000_Tracker/Integrated_with_Popular_Dashboard/thingsboard_integrated.md b/docs/Sensor/SenseCAP/SenseCAP_T1000_Tracker/Integrated_with_Popular_Dashboard/thingsboard_integrated.md new file mode 100644 index 000000000000..391ae06fc0b5 --- /dev/null +++ b/docs/Sensor/SenseCAP/SenseCAP_T1000_Tracker/Integrated_with_Popular_Dashboard/thingsboard_integrated.md @@ -0,0 +1,178 @@ +--- +description: SenseCAP T1000 tracker and Thingsboard Integrated +title: ThingsBoard Integrated(via TTS) +keywords: +- ThingsBoard +- SenseCAP_T1000_tracker +image: https://files.seeedstudio.com/wiki/wiki-platform/S-tempor.png +slug: /thingsboard_integrated +last_update: + date: 8/20/2024 + author: Jessie +--- + + +[ThingsBoard](https://thingsboard.io/) is an open-source IoT platform that enables rapid development, management, and scaling of IoT projects. Our goal is to provide the out-of-the-box IoT cloud or on-premises solution that will enable server-side infrastructure for your IoT applications. + + +The content of this chapter will guide users how to connect the [SenseCAP T1000 Tracker](https://www.seeedstudio.com/SenseCAP-Card-Tracker-T1000-A-p-5697.html) to ThingsBoard through TTN. + + +## Get Started + +Before starting the setup, please check [Connect SenseCAP T1000 to TTS](https://wiki.seeedstudio.com/SenseCAP_T1000_tracker_TTN) to connect your SenseCAP T1000 Tracker to TTS first. + + +## Configura the ThingsBoard + + +To get started, create an account with [ThingsBoard](https://thingsboard.cloud/). + +### Create Converter + +First, we need to create an Uplink Data Converter which will be used for receiving messages from the TTS. + +Navigate to `Data converters`, click `Create new converter`. + +

pir

+ + +Name the converter, enable `Debug mode`, copy the following code and click `Add`. + +```cpp +var data = decodeToJson(payload); +var deviceName = data.end_device_ids.device_id; +var deviceType = data.end_device_ids.application_ids.application_id; + +var telemetry = {}; + +var messages = data.uplink_message.decoded_payload.messages[0]; +for (var i = 0; i < messages.length; i++) { + var measurement = messages[i]; + + var type = measurement.type.toLowerCase(); + var typeKey = ''; + for (var j = 0; j < type.length; j++) { + if (type[j] === ' ') { + typeKey += '_'; + } else { + typeKey += type[j]; + } + } + + telemetry[typeKey] = measurement.measurementValue; +} + +var result = { + deviceName: deviceName, + deviceType: deviceType, + telemetry: telemetry +}; + +function decodeToString(payload) { + return String.fromCharCode.apply(String, payload); +} + +function decodeToJson(payload) { + var str = decodeToString(payload); + var data = JSON.parse(str); + return data; +} + +return result; +``` + +

pir

+ + +### Add integration + +Navigate to `Integration`, click `Add Integration`. + +

pir

+ + +**Type**: `The Things Stack Community`
+**Enable**: `Enable integration` `Debug mode` `Allow create devices or assets` + +

pir

+ +Choose `Select existing`, and select the one we create before. + +

pir

+ +Skip the `Downlink data converter`. + + +

pir

+ +**Region**: Region where your application was registered inside TTS
+**Username**: Username from TTS
+**Password**: Password from TTS
+**Use API v3**: Set `Enable` + +:::tip +Info can be found in TTS MQTT integration. +

pir

+::: + +

pir

+ + +### Data view + +Navigate to `Entities` -> `Devices`, here you can see that: + +* a new device was registered in Thingsboard +* in the `Latest Telemetry` section you will the update data from the device. + + +

pir

+ + +### Add Dashboard + +Navigate to `Dashboards`, Click `Create new dashboard`. + +Enter the dashboard title, and then click `Next`. +

pir

+ +Add `widget`, select widget to add. + +### Location map + +Select a `map` widget. + +

pir

+ + +**Type**: `Device`
+**Device**: The device we created.
+**Data key**: `latitude`, `longitude` + +

pir

+ +### Other parameters + +Refer to the above steps to add other widgets. + +#### Temperature + +**Device**: The device we created.
+**Data key**: `air_temperature` + +

pir

+ + +#### Battery + +**Device**: The device we created.
+**Data key**: `battery` + + + +

pir

+ +Here is an basic example, you can customize your own dashboard. + +

pir

diff --git a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_ifttt.md b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_ifttt.md index 949efa418d10..138d13761e22 100644 --- a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_ifttt.md +++ b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_ifttt.md @@ -114,7 +114,11 @@ When finished, don't forget to **Deploy** it. ### Step 6.Send a task to Watcher -If you don't know how to run a task in Watcher, [please refer here.](https://wiki.seeedstudio.com/getting_started_with_watcher_task) Here provide very detailed steps for your reference. +First of all, you need to run a task in Watcher following the video below. If you want to know more [please click here](https://wiki.seeedstudio.com/getting_started_with_watcher_task/). + +
+ +
### Step 7.Check those message in IFTTT and Phone diff --git a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_kafka.md b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_kafka.md index 98a6fde42b68..1ea377c79257 100644 --- a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_kafka.md +++ b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_kafka.md @@ -168,7 +168,11 @@ Any change, you should click the **Deploy** button. ## Part 4.Run a task in Watcher -1. Run a task in Watcher, if you don't know how to run a task, [please refer here.](https://wiki.seeedstudio.com/getting_started_with_watcher_task) +1. First of all, you need to run a task in Watcher following the video below. If you want to know more [please click here](https://wiki.seeedstudio.com/getting_started_with_watcher_task/). + +
+ +
2. When you finish running a task in watcher, you should [refer this link](https://wiki.seeedstudio.com/watcher_to_node_red/) to send watcher message to Node-RED. diff --git a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_open_interpreter.md b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_open_interpreter.md new file mode 100644 index 000000000000..81fd94789373 --- /dev/null +++ b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_open_interpreter.md @@ -0,0 +1,167 @@ +--- +description: Send message from Watcher & Node-RED to Open Interpreter +title: Watcher & Node-RED to Open Interpreter +keywords: +- watcher +- Open Interpreter +image: https://files.seeedstudio.com/wiki/watcher_to_open_interpreter_image/banner.png +slug: /watcher_node_red_to_open_interpreter +last_update: + date: 08/19/2024 + author: Allen +--- + +# Watcher To Open Interpreter Quick Start + +
+ +## Part 1.What is [Open Interpreter](https://docs.openinterpreter.com/getting-started/introduction) + +Open Interpreter is an open-source tool that facilitates interaction between users and their computers by enabling natural language commands to execute code in various programming languages. It acts as a bridge, allowing users to write instructions in plain language, which the interpreter then translates into executable code. This enhances productivity and makes programming more accessible, especially for those who may not be familiar with coding syntax. + +## Part 2.Operations in Node-RED + +In this part, we need 4 modules to finish the job. There are **SenseCap Watcher OpenSteam, function, http request and debug** module. + +
+ +1. **SenseCap Watcher OpenSteam module**: Get message from Watcher to Node-RED. +2. **function module**: Process data to get what message you want. +3. **http request module**: Send message to Open Interpreter via http potocal. +4. **debug module**: Debug the whole work flow to check if everything is ok. + +We will show you how to configure those modules in following steps. + +### Step 1.Configure SenseCap Watcher OpenSteam module + +Fisrt of all, you need to run a task in Watcher following the video below. If you want to know more [please click here](https://wiki.seeedstudio.com/getting_started_with_watcher_task/). + +
+ +
+ +If you don't know how to send message from Watcher to Node_RED yet, [please click here](https://wiki.seeedstudio.com/watcher_to_node_red/). + +### Step 2.Configure function module + +
+ +```javascript +msg.payload = { + content: msg.payload.value[0].content, + image_url: msg.payload.value[0].image_url +}; +return msg; +``` + +### Step 3.Configure http request module + +We use POST request for security and send to port 3000, and we will use Open Interpreter to keep listening port 3000 later. + +
+ +### Step 4.Configure debug module + +Select as following image. + +
+ +When finished configuration, don't forget to **Deploy** them. + +
+ +## Part 3.Operations in Open Interpreter + +:::tip +Before we keep continue, the prerequisite is you need to have Python development enviroment in your computer. + +If you haven't, [please click here for your reference.](https://phoenixnap.com/kb/how-to-install-python-3-windows) +::: + +### Step 5.Install Open Interpreter + +After installing Python, you can install Open Interpreter via Python easily, just one command. + +```python +pip install open-interpreter +``` + +### Step 6.Start Open Interpreter + +Interpreter have two mode, online mode and local mode. By default, Interpreter select online mode, using OpenAI GhatGPT gpt-4-turbo API Key. You can also set it to local mode that means you need to download model to run locally. + +:::tip +I would recommend online mode because online mode is much faster and smarter than local mode and local mode often stuck. +::: + +#### Online mode + +1. Before we start, we need a OpenAI API Key. [You can click here](https://platform.openai.com/api-keys) to get one if you are a OpenAI GPT-4 paid member. + +
+ +2. And then, we input ```interpreter``` this command to start it and it require us input API Key. After that, we set the model to gpt-4-turbo successfully. + +
+ +#### Local mode + +1. Before we start, we need to download a model to run it locally. I would recommend **Ollama** here. [Click here to jump.](https://ollama.com/) You should download this application and install it. + +
+ +2. When you install it successfully, run ```ollama``` in your **PowerShell(or Terminal)**,it will like following image. And then, run ```ollama run llama3.1``` to download model **llama3.1** and run. + +
+ +3. If you want to try other models, [click here to jump.](https://ollama.com/library) Just run ```ollama run xxx```. + +
+ +4. After installing model and run successfully, we can continue. We need to input ```interpreter -l``` this command to get into it,and then select **ollama** and **llama3.1**(the model you just download). + +
+ +### Step 7.Run commands + +:::tip +I try many times to run the following command in Interpreter, but not every times the reaction of Interpreter are the same. + +So you need to interact with Interpreter according to its reaction. Sometimes you need to reboot it and try again. +::: + +Here is my natural language command sent to Open Interpreter. + +``` +i want you to keep listening computer port 3000 and extract the image_url and open it in browser. +``` + +
+ +In the first time, Interpreter said she initial setup only support GET requests for simplicity but my request is POST for security, so she can't support it and suggeset me to modify the server to handle POST requests. I said yes and she will run automatically. + +
+ +As you can see, the code run successfully, listening port 3000. + +
+ +Now, use Watcher to detect yourself. The image will be captured and opened in browser automatically. + +
+ +Congratulations on successfully integrating the Watcher and Open Interpreter applications! This achievement marks a significant step in your journey, showcasing your dedication and skill. As you move forward, you'll find even more fascinating concepts and tools to explore. Embrace the challenges and discoveries that lie ahead, and enjoy every moment of this exciting adventure! + +## Tech Support & Product Discussion + +Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs. + +
+ + +
+ +
+ + +
\ No newline at end of file diff --git a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_p5js.md b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_p5js.md index b957da460823..af8308aec657 100644 --- a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_p5js.md +++ b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_p5js.md @@ -23,7 +23,15 @@ last_update: ## Node-RED configuration -### Step 1.Configuration +### Step 1.Run task in Watcher + +First of all, you need to run a task in Watcher following the video below. If you want to know more [please click here](https://wiki.seeedstudio.com/getting_started_with_watcher_task/). + +
+ +
+ +### Step 2.Configuration There are 4 modules you need to configure: @@ -51,7 +59,7 @@ return msg;
-### Step 2.Deployment +### Step 3.Deployment When finish configuration, don't forget to **Deploy** it. @@ -59,13 +67,13 @@ When finish configuration, don't forget to **Deploy** it. ## Build a server -### Step 3.Download server code +### Step 4.Download server code [Please click this link](https://github.com/Seeed-Projects/SenseCAP_Watcher_WebSocket_P5js) to download the whole project code.
-### Step 4.Run the server +### Step 5.Run the server Before running the server, you should install some packages first. @@ -81,13 +89,13 @@ Now the server is listening port 3000, so the message from [Node-RED](#post) wil ## VScode configuration -### Step 5.Install extensions +### Step 6.Install extensions You need to install 2 extensions, there are **Live Server** and **p5.vscode**
-### Step 6.Open project +### Step 7.Open project Open the project you just download. diff --git a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_telegram.md b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_telegram.md index 6a7399683700..65b222305c16 100644 --- a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_telegram.md +++ b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_telegram.md @@ -126,7 +126,11 @@ Another **sender**'s configuration is similar, just following the below image. ### Step 5. Run a task in Watcher -If you don't know how to run a task in Watcher, [please refer here.](https://wiki.seeedstudio.com/getting_started_with_watcher_task) Here provide very detailed steps for your reference. +First of all, you need to run a task in Watcher following the video below. If you want to know more [please click here](https://wiki.seeedstudio.com/getting_started_with_watcher_task/). + +
+ +
### Step 6. Send message and photo to Telegram diff --git a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_twilio.md b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_twilio.md index 4e1e1f63c65c..aade47630e67 100644 --- a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_twilio.md +++ b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_node_red_to_twilio.md @@ -75,11 +75,17 @@ If you don't know how to send message from watcher to Node_RED yet, [please clic ### Get all results -**Step 1.** Drag sensecap **OpenStream** module and **debug** module to workspace and configure them. If you don't know how to configure, [please click here](https://wiki.seeedstudio.com/watcher_to_node_red/). Connect them and Click the **Deploy** button on the right upside coner. +**Step 1.** Run a task in Watcher. -
+First of all, you need to run a task in Watcher following the video below. If you want to know more [please click here](https://wiki.seeedstudio.com/getting_started_with_watcher_task/). -**Step 2.** Run a task in Watcher, if you don't know how to run a task, [please refer here.](https://wiki.seeedstudio.com/getting_started_with_watcher_task) +
+ +
+ +**Step 2.** Drag sensecap **OpenStream** module and **debug** module to workspace and configure them. If you don't know how to configure, [please click here](https://wiki.seeedstudio.com/watcher_to_node_red/). Connect them and Click the **Deploy** button on the right upside coner. + +
**Step 3.** You will receive message at both **debug page** and **Twilio message** on your phone. diff --git a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_to_discord.md b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_to_discord.md index d09aceb33989..95cd087970f0 100644 --- a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_to_discord.md +++ b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_to_discord.md @@ -23,6 +23,13 @@ This tutorial will guide you through integrating the Watcher API with Node-RED t ## Part 1. Set up Watcher in Node-RED ### Step 1. Set up Node-RED + +Fisrt of all, you need to run a task in Watcher following the video below. If you want to know more [please click here](https://wiki.seeedstudio.com/getting_started_with_watcher_task/). + +
+ +
+ Node-RED is required for this setup, along with the Watcher API. If you haven't installed Node-RED or connected it with the Watcher API, start here: [**Watcher to Node-RED Quick Start**](https://wiki.seeedstudio.com/watcher_to_node_red). ### Step 2. Prepare data from Watcher diff --git a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_to_mongodb.md b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_to_mongodb.md index a654f011a72d..28b349f177b7 100644 --- a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_to_mongodb.md +++ b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_to_mongodb.md @@ -25,6 +25,13 @@ This tutorial will guide you through using the Watcher API and Node-RED to seaml ## Part 1. Set up Watcher in Node-RED ### Step 1. Install Node-RED + +Fisrt of all, you need to run a task in Watcher following the video below. If you want to know more [please click here](https://wiki.seeedstudio.com/getting_started_with_watcher_task/). + +
+ +
+ Node-RED is required for this setup, along with the Watcher API. If you haven't installed Node-RED or connected it with the Watcher API, start here: [**Watcher to Node-RED Quick Start**](https://wiki.seeedstudio.com/watcher_to_node_red). ### Step 2. Prepare data for MongoDB diff --git a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_to_whatsapp.md b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_to_whatsapp.md index c0ef5e74604c..0b439d66cc44 100644 --- a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_to_whatsapp.md +++ b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/node_red_integration/watcher_to_whatsapp.md @@ -23,6 +23,13 @@ This tutorial will guide you through integrating the Watcher API with Node-RED t ## Part 1. Set up Watcher in Node-RED ### Step 1. Set up Node-RED + +Fisrt of all, you need to run a task in Watcher following the video below. If you want to know more [please click here](https://wiki.seeedstudio.com/getting_started_with_watcher_task/). + +
+ +
+ Node-RED is required for this setup, along with the Watcher API. If you haven't installed Node-RED or connected it with the Watcher API, start here: [**Watcher to Node-RED Quick Start**](https://wiki.seeedstudio.com/watcher_to_node_red). ### Step 2. Get data from Watcher diff --git a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/smart_home/integrate_watcher_to_ha.md b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/smart_home/integrate_watcher_to_ha.md index 2ccd97755d09..5db84064fd3c 100644 --- a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/smart_home/integrate_watcher_to_ha.md +++ b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Applications/smart_home/integrate_watcher_to_ha.md @@ -5,20 +5,220 @@ image: https://files.seeedstudio.com/wiki/watcher_getting_started/45.png slug: /integrate_watcher_to_ha sidebar_position: 1 last_update: - date: 08/13/2024 + date: 08/20/2024 author: Citric --- # Integrate Watcher to Home Assistant +:::danger +The content of this tutorial is not available at this time. +::: +The integration of artificial intelligence (AI) has revolutionized the world of smart home technology, and Watcher, a cutting-edge AI-powered device, has emerged as a game-changer. By seamlessly integrating Watcher with Home Assistant, a popular open-source home automation platform, users can unlock a new level of convenience, security, and efficiency in their smart homes. -*Comming Soon...* +In this comprehensive wiki, we will guide you through the process of integrating Watcher with Home Assistant, enabling you to harness the full potential of AI in your smart home setup. Whether you're a seasoned Home Assistant user or a newcomer to home automation, this integration opens up a realm of exciting possibilities, allowing your home to become smarter, more responsive, and tailored to your unique needs. +Below is the main content framework of this article. +1. [Installing the HACS plugin](#installing-the-hacs-plugin): Install the Home Assistant Community Store (HACS) to enable the installation of Seeed Studio's SenseCraft plugin within Home Assistant. +2. [Installing the SenseCraft plugin](#installing-the-sensecraft-plugin): Install the SenseCraft plugin by Seeed Studio, which allows for the swift deployment of Seeed Studio's products into Home Assistant. +3. [Building MQTT Services at Home Assistant](#building-mqtt-services-at-home-assistant): Leverage a local MQTT service to transmit data from the Watcher to Home Assistant. +4. [Integrate SenseCAP Watcher into Home Assistant](#integrate-sensecap-watcher-into-home-assistant): Integrate SenseCAP Watcher into Home Assistant and set up a visual dashboard for configuration. +## Getting Started +Before the tutorial content of this article begins, you may need to have the following hardware ready. + +### Materials Required + +
+ + + + + + + + + + + + + +
SenseCAP WatcherHome Assistant Green
+
+ +Home Assistant Green is the easiest and most privacy-focused way to automate your home. It offers an effortless setup and allows you to control all the smart devices with just one system, where all the data is stored locally by default. This board benefits from the thriving Home Assistant ecosystem and it will be improved every month by open source. + +We recommend using Home Assistant Green as the Home Assistant host for this tutorial, or you can use any Home Assistant host with a Supervisor. + +## Installing the HACS plugin + +### Step 1. Open Advanced Mode in Home Assistant + +To unlock the full potential of Home Assistant and gain access to advanced features, you can enable "Advanced Mode" in the user interface. + +Navigate to your [Home Assistant web interface](http://homeassistant.local:8123). Click on your profile icon at the bottom left corner of the Home Assistant sidebar. On your profile page, scroll down to find the **Advanced Mode** toggle. Switch the toggle to the on position. + +
+ +### Step 2. Install Terminal & SSH + +Click on **Settings** in the sidebar to access the settings menu. Click on **Add-ons** to access the add-on store. + +
+ +Use the search bar or browse through the available add-ons to find **Terminal & SSH**. + +
+ +Once you've located **Terminal & SSH**, click on it to view the details. On the add-on's page, you'll see an overview, documentation, and configuration options. To install the add-on, click the **Install** button. + +
+ +### Step 3. Install HACS + +Find the recently downloaded **Terminal & SSH** in the sidebar. In the terminal, navigate to the config directory, which is the root of your Home Assistant configuration: + +``` +cd /config +``` + +Execute the following command to download and run the HACS installation script: + +``` +wget -q -O - https://install.hacs.xyz | bash - +``` + +After the installation script has finished, you need to restart Home Assistant to apply the changes. You can restart Home Assistant through the UI by going to **Settings > System > Restart**. + +
+ +After the reboot, click on **Settings** in the sidebar to open the settings menu. Within the settings menu, navigate to **Devices & Services**. + +
+ +Click on **ADD INTEGRATION** to add a new integration to your Home Assistant setup. + +
+ +In the search bar, type **HACS** to look for the Home Assistant Community Store integration. + +
+ +If HACS is found, it should appear in the list of available integrations. Click on it to start the installation process. + +A license agreement or terms of service may pop up. Read through the agreement carefully, and if you agree to the terms, check all the boxes to indicate your agreement. Click **SUBMIT** to proceed with the installation. + +
+ +Next, you will be prompted to log in with your GitHub account. This is necessary because HACS integrates with GitHub to manage the installation of community-created integrations and plugins. + +
+ +Follow the instructions to authorize Home Assistant to access your GitHub account. This will typically involve entering a verification code provided by GitHub to confirm your identity. + +
+ +Once you have authorized Home Assistant to use your GitHub account, HACS will finish installing. + +
+ +You may need to restart Home Assistant for HACS to fully integrate into your system. + +## Installing the SenseCraft plugin + +### Step 4. Installation of the SenseCraft plugin via HACS + +Look for HACS in the sidebar and click on it to open the HACS interface. In the bottom right corner, you'll find a menu button (three dots or a plus sign, depending on your HACS version). Click on **Custom repositories**. + +
+ +A dialog box will appear asking you to input the repository URL. Here, you will enter the custom repository URL for the SenseCraft integration. After entering the URL, select the category (for the SenseCraft integration, you would select **Integration**). + +``` +https://github.com/Seeed-Solution/SenseCraft-HomeAssistant.git +``` + +
+ +Click on **Add**. The repository is now added to your HACS, and you should be able to find the SenseCraft integration in the list under **Integrations**. + +
+ +Locate the SenseCraft integration and click "DOWNLOAD". + +
+ +By this point, we have successfully completed the installation of the SenseCraft plugin. + +## Building MQTT Services at Home Assistant + +### Step 9. Install EMQX + +Click on **Settings** in the sidebar to access the settings menu. Click on **Add-ons** to access the add-on store. + +
+ +Use the search bar or browse through the available add-ons to find **emqx**. + +
+ +Once you've located **EMQX**, click on it to view the details. On the add-on's page, you'll see an overview, documentation, and configuration options. To install the add-on, click the **Install** button. + +
+ +Once the EMQX Add-on is installed, turn on the **Start on boot**, **Watchdog** and **Show in sidebar** toggles. Click **Start** to start EMQX. + +In the EMQX Dashboard login page, enter the default username and password. + +- Default username: **admin** +- Default password: **public** + +Click on the "Login" button to access the EMQX Dashboard. + +In the EMQX Dashboard, navigate to the **Authentication** section from the left sidebar menu. Click on the **Databases** tab. + +
+ +Click on the **Create** button. In the **Mechanism** dropdown, select **Password-Based**, In the **Backend** dropdown, select **Built-in Database**. Click on the "Create" button to create the Built-in Database. + +After creating the Built-in Database, click on the **Users** tab in the "Authentication" section. Click on the "Add User" button. + +- In the "Username" field, enter "seeed". +- In the "Password" field, enter "seeed". + +Go back to the "Databases" tab in the "Authentication" section. Locate the previously created database in the list of databases. + +Click on the toggle switch next to the database to enable it. The database status should change to "Enabled". + +
+ +## Integrate SenseCAP Watcher into Home Assistant + +In the **Settings** page, choose **Devices & Services**. + +Then click the **ADD INTEGRATION** button in the bottom right corner and search for **SenseCraft**. + +
+ +Click on SenseCraft and select Action as **Add device using SenseCraft Account (账号集成)**. + +
+ + + +
## Tech Support & Product Discussion diff --git a/docs/Sensor/mmWave_radar_sensor/mmwave-kit/mmWave_Kit_And_Grove_Connect_To_ESPHome.md b/docs/Sensor/mmWave_radar_sensor/mr24hpc1-mmwave-kit/mr24hpc1-mmWave_Kit_And_Grove_Connect_To_ESPHome.md similarity index 100% rename from docs/Sensor/mmWave_radar_sensor/mmwave-kit/mmWave_Kit_And_Grove_Connect_To_ESPHome.md rename to docs/Sensor/mmWave_radar_sensor/mr24hpc1-mmwave-kit/mr24hpc1-mmWave_Kit_And_Grove_Connect_To_ESPHome.md diff --git a/docs/Sensor/mmWave_radar_sensor/mmwave-kit/mmwave_human_kit.md b/docs/Sensor/mmWave_radar_sensor/mr24hpc1-mmwave-kit/mr24hpc1-mmwave_human_kit.md similarity index 99% rename from docs/Sensor/mmWave_radar_sensor/mmwave-kit/mmwave_human_kit.md rename to docs/Sensor/mmWave_radar_sensor/mr24hpc1-mmwave-kit/mr24hpc1-mmwave_human_kit.md index 66f25bc45ac5..02923512032c 100644 --- a/docs/Sensor/mmWave_radar_sensor/mmwave-kit/mmwave_human_kit.md +++ b/docs/Sensor/mmWave_radar_sensor/mr24hpc1-mmwave-kit/mr24hpc1-mmwave_human_kit.md @@ -11,7 +11,7 @@ last_update: author: Citric --- -# mmWave Human Detection Sensor Kit +# MR24HPC1 mmWave Human Detection Sensor Kit
diff --git a/docs/Sensor/mmWave_radar_sensor/mmwave-for-XIAO/mmwave-for-xiao-60GHz.md b/docs/Sensor/mmWave_radar_sensor/mr60bha2-mmwave-kit/getting_started_with_mr60bha2.md similarity index 98% rename from docs/Sensor/mmWave_radar_sensor/mmwave-for-XIAO/mmwave-for-xiao-60GHz.md rename to docs/Sensor/mmWave_radar_sensor/mr60bha2-mmwave-kit/getting_started_with_mr60bha2.md index 104b1f61d0cf..34e278f3b388 100644 --- a/docs/Sensor/mmWave_radar_sensor/mmwave-for-XIAO/mmwave-for-xiao-60GHz.md +++ b/docs/Sensor/mmWave_radar_sensor/mr60bha2-mmwave-kit/getting_started_with_mr60bha2.md @@ -1,17 +1,18 @@ --- -description: Getting started with Seeed Studio 60GHz mmWave for XIAO -title: 60GHz mmWave for XIAO +description: Getting started with 60GHz mmWave Fall Detection Sensor Kit with XIAO ESP32C6 (MR60FDA2) +title: Getting started with MR60FDA2 keywords: - mmwave - radar +- MR60FDA2 image: https://files.seeedstudio.com/wiki/mmwave-for-xiao/mr60/2-mmWave-45font.jpg -slug: /mmwave_for_xiao_60ghz +slug: /getting_started_with_mr60fda2_mmwave_kit last_update: date: 08/19/2024 author: Spencer --- -# Seeed Studio 60GHz mmWave for XIAO +# Getting started with 60GHz mmWave Fall Detection Sensor Kit with XIAO ESP32C6 (MR60FDA2)
diff --git a/docs/Sensor/mmWave_radar_sensor/mr60fda2-mmwave-kit/getting_started_with_mr60fda2.md b/docs/Sensor/mmWave_radar_sensor/mr60fda2-mmwave-kit/getting_started_with_mr60fda2.md new file mode 100644 index 000000000000..17544b4c4895 --- /dev/null +++ b/docs/Sensor/mmWave_radar_sensor/mr60fda2-mmwave-kit/getting_started_with_mr60fda2.md @@ -0,0 +1,381 @@ +--- +description: Getting started with 60GHz mmWave Breathing and Heartbeat Detection Sensor Kit with XIAO ESP32C6 (MR60BHA2) +title: Getting started with MR60BHA2 +keywords: +- mmwave +- radar +- MR60BHA2 +image: https://files.seeedstudio.com/wiki/mmwave-for-xiao/mr60/2-mmWave-45font.jpg +slug: /getting_started_with_mr60bha2_mmwave_kit +last_update: + date: 08/19/2024 + author: Spencer +--- + +# Getting started with 60GHz mmWave Breathing and Heartbeat Detection Sensor Kit with XIAO ESP32C6 (MR60BHA2) + +
+ +
+ +Introducing our advanced **mmWave Sensor Modules** for XIAO, designed to provide cutting-edge monitoring solutions for both fall detection and heartbeat monitoring. Powered by the robust XIAO ESP32 microcontroller with built-in Wi-Fi and Bluetooth connectivity, these modules offer precise and reliable detection capabilities. Whether you need to monitor falls in real-time or track heartbeats with sensitive accuracy, our modules are equipped with state-of-the-art technology, including customizable RGB LEDs and ambient light sensing. With easy expansion options through Grove GPIO ports, these versatile modules are perfect for a wide range of applications, from smart home integration to healthcare monitoring. + +### Features + +- **Wi-Fi & Bluetooth Enabled**: Both modules are powered by XIAO ESP32 with pre-flashed ESPHome firmware, ensuring quick setup and customization. +- **Fall Detection Module**: + - **Precise Fall Detection**: Covers a 3x3x3 meter area with a 100° x 40° detection angle. + - **Static Presence Detection**: Monitors stationary individuals up to 6 meters away. +- **Heartbeat Detection Module**: + - **Sensitive Heartbeat Monitoring**: Detects heartbeats from up to 1.5 meters. + - **Static Presence Detection**: Monitors stationary individuals up to 6 meters away. +- **Environmental Sensing**: + - **BH1750 Light Sensor**: Measures ambient light from 1 to 65,535 lux. + - **WS2812 RGB LED**: Customizable LED for visual feedback and DIY projects. +- **Expandable Connectivity**: Includes Grove GPIO ports for adding additional sensors and modules. + +
+
+ +### Specification + +| **General Parameters** | | +| ------------------------ | ------------------------------------ | +| **mmWave Firmware** | Fall Detection & Heartbeat Monitoring | +| **Microcontroller Unit (MCU)** | Seeed Studio XIAO ESP32 | +| **LED Indicator** | WS2812 RGB LED: Full-Color, Programmable Lighting | +| **User Interface** | Single-Button Interface for Reset | +| **Ambient Light Sensor** | BH1750: High-Precision Digital Light Intensity Measurement | +| **Connectivity** | Grove Connector: 1 GPIO Port (D0, D10) for Versatile I/O Integration | +| **Pin Header Spacing** | Standard 2.54mm Female Header for Easy Prototyping | +| **Power Supply** | 5V/1A Input for Stable and Reliable Operation | + +### Application + +- Human body sensor light control +- Life safety protection +- Smart home appliances +- Intelligent security + +
+ +## Hardware Overview + +

+ +
+ +## Getting Started + +### Software Preparation (Arduino) + +If this is your first time using Arduino with the XIAO series, follow the appropriate setup guide for your board: + +- **XIAO ESP32S3**: Refer to the [XIAO ESP32S3 Getting Started Guide](https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/). +- **XIAO ESP32C3**: Follow the [Getting Started with Seeed Studio XIAO ESP32C3](https://wiki.seeedstudio.com/XIAO_ESP32C3_Getting_Started/) guide. + +Once your board is set up, proceed with the following steps: + +1. **Download the Seeed mmWave Library**: + - Download the [Seeed mmWave library](https://github.com/Love4yzp/Seeed-mmWave-library) from GitHub. + + + +2. **Install the Library in Arduino IDE**: + - Open the Arduino IDE. + - Navigate to **Sketch > Include Library > Add .ZIP Library...**. + - Select the downloaded `.zip` file to install the library. + +3. **Connect Your XIAO Board**: + - Plug your XIAO board into your computer via USB. + - In the Arduino IDE, go to **Tools > Board** and select your XIAO board model. + - Choose the correct port under **Tools > Port**. + +4. **Load an Example Sketch**: + - Go to **File > Examples > Seeed Arduino mmWave**. + - Select the relevant example for either Fall Detection or Heartbeat Detection. + - Review the code and make any necessary adjustments. + +5. **Upload the Sketch**: + - Click **Upload** to flash the code to your XIAO board. + - Open the **Serial Monitor** in the Arduino IDE to view real-time sensor data. + + + +### Usage + +This section provides example code snippets to help you quickly start using the Seeed Arduino mmWave Library with various functionalities, including breath monitoring, fall detection, RGB LED control, and light sensing. + +### Breath Module + +This example demonstrates how to use the **MR60BHA2** sensor for monitoring breathing and heartbeat. + +```cpp +#include +#include "Seeed_Arduino_mmWave.h" + +// Set up serial communication depending on the board type +#ifdef ESP32 +# include +HardwareSerial mmWaveSerial(0); +#else +# define mmWaveSerial Serial1 +#endif + +SEEED_MR60BHA2 mmWave; + +void setup() { +Serial.begin(115200); +mmWave.begin(&mmWaveSerial); +} + +void loop() { +if (mmWave.update(100)) { + float total_phase, breath_phase, heart_phase; + if (mmWave.getHeartBreathPhases(total_phase, breath_phase, heart_phase)) { + Serial.printf("total_phase: %.2f\t", total_phase); + Serial.printf("breath_phase: %.2f\t", breath_phase); + Serial.printf("heart_phase: %.2f\n", heart_phase); + } + + float breath_rate; + if (mmWave.getBreathRate(breath_rate)) { + Serial.printf("breath_rate: %.2f\n", breath_rate); + } + + float heart_rate; + if (mmWave.getHeartRate(heart_rate)) { + Serial.printf("heart_rate: %.2f\n", heart_rate); + } + + float distance; + if (mmWave.getDistance(distance)) { + Serial.printf("distance: %.2f\n", distance); + } +} +} +``` + +### Fall Module + +This example shows how to use the **MR60FDA2** sensor for fall detection. + +```cpp +#include +#include "Seeed_Arduino_mmWave.h" + +#ifdef ESP32 +# include +HardwareSerial mmWaveSerial(0); +#else +# define mmWaveSerial Serial1 +#endif + +SEEED_MR60FDA2 mmWave; + +void setup() { +Serial.begin(115200); +mmWave.begin(&mmWaveSerial); + +delay(1000); + +uint32_t sensitivity = 15; +float height = 3.0, threshold = 1.0; +float rect_XL, rect_XR, rect_ZF, rect_ZB; + +if (mmWave.setInstallationHeight(height)) { + Serial.printf("setInstallationHeight success: %.2f\n", height); +} else { + Serial.println("setInstallationHeight failed"); +} + +if (mmWave.setThreshold(threshold)) { + Serial.printf("setThreshold success: %.2f\n", threshold); +} else { + Serial.println("setThreshold failed"); +} + +if (mmWave.setSensitivity(sensitivity)) { + Serial.printf("setSensitivity success %d\n", sensitivity); +} else { + Serial.println("setSensitivity failed"); +} + +if (mmWave.getRadarParameters(height, threshold, sensitivity, rect_XL, + rect_XR, rect_ZF, rect_ZB)) { + Serial.printf("height: %.2f\tthreshold: %.2f\tsensitivity: %d\n", height, + threshold, sensitivity); + Serial.printf( + "rect_XL: %.2f\trect_XR: %.2f\trect_ZF: %.2f\trect_ZB: %.2f\n", rect_XL, + rect_XR, rect_ZF, rect_ZB); +} else { + Serial.println("getRadarParameters failed"); +} +} + +void loop() { +if (mmWave.update(100)) { + bool is_human = mmWave.getHuman(); + if (is_human) { + Serial.printf("People Exist: %s\n", is_human ? "true" : "false"); + } + + bool is_fall = mmWave.getFall(); + if (is_fall) { + Serial.printf("isFall: %s\n", is_fall ? "true" : "false"); + } +} +} +``` + +### Blink RGB LED + +This example demonstrates how to control an RGB LED using the NeoPixel library. + +```cpp +#include +#include + +const int pixelPin = D1; + +Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, pixelPin, NEO_GRB + NEO_KHZ800); + +void setup() { +Serial.begin(115200); +pixels.begin(); +pixels.clear(); +pixels.show(); +} + +void loop() { +for (int i = 0; i < 10; i++) { + pixels.setPixelColor(0, pixels.Color(255, 0, 0)); + pixels.show(); + delay(100); + pixels.setPixelColor(0, pixels.Color(0, 0, 0)); + pixels.show(); + delay(100); +} + +for (int i = 255; i >= 0; i--) { + pixels.setPixelColor(0, pixels.Color(i, 0, 0)); + pixels.show(); + delay(10); +} +} +``` + +### Light Sensor (BH1750) + +This example shows how to read light intensity values using the BH1750 sensor. + +```cpp +#include +#include + +hp_BH1750 BH1750; + +void setup() { +Serial.begin(9600); + +bool avail = BH1750.begin(BH1750_TO_GROUND); + +if (!avail) { + Serial.println("No BH1750 sensor found!"); + while (true) {} +} + +Serial.printf("conversion time: %dms\n", BH1750.getMtregTime()); +BH1750.start(); +} + +void loop() { +if (BH1750.hasValue()) { + float lux = BH1750.getLux(); + Serial.println(lux); + + BH1750.start(); +} +} +``` + +## API Explanation + +### Breath Module API + +This example uses the `SEEED_MR60BHA2` class to interface with the MR60BHA2 sensor for heart and breath monitoring. Here’s what each key function does: + +- **`mmWave.begin(&mmWaveSerial)`**: + - Initializes the sensor for communication using the specified serial interface. It sets up the connection between the XIAO board and the MR60BHA2 sensor. + +- **`mmWave.update(100)`**: + - Updates the sensor data. The parameter `100` is a timeout value in milliseconds, specifying how long to wait for the sensor to provide new data. If new data is available within this timeframe, the function returns `true`. + +- **`mmWave.getHeartBreathPhases(float &total_phase, float &breath_phase, float &heart_phase)`**: + - Retrieves the phase information related to heart and breath activities. + - `total_phase` represents the overall phase shift, while `breath_phase` and `heart_phase` are specific to breathing and heartbeat activities, respectively. + +- **`mmWave.getBreathRate(float &rate)`**: + - Fetches the current breath rate detected by the sensor. The rate is returned in the reference variable `rate`. + +- **`mmWave.getHeartRate(float &rate)`**: + - Retrieves the current heart rate detected by the sensor. The rate is returned in the reference variable `rate`. + +- **`mmWave.getDistance(float &distance)`**: + - Gets the distance from the sensor to the detected object (e.g., human body). This function is useful for understanding the range of the detected signal. + +### Fall Module API + +This example uses the `SEEED_MR60FDA2` class to interface with the MR60FDA2 sensor for fall detection. Here’s what each key function does: + +- **`mmWave.begin(&mmWaveSerial)`**: + - Initializes the sensor for communication, similar to the breath module, setting up the serial connection between the XIAO board and the MR60FDA2 sensor. + +- **`mmWave.setInstallationHeight(float height)`**: + - Sets the installation height of the radar, which is crucial for accurate fall detection. The `height` parameter specifies the height (in meters) at which the sensor is installed, with a valid range typically between 1 and 5 meters. + +- **`mmWave.setThreshold(float threshold)`**: + - Sets the fall detection threshold. This value determines the sensitivity of the radar in terms of detecting falls based on the height and distance from the sensor. + +- **`mmWave.setSensitivity(uint32_t sensitivity)`**: + - Adjusts the sensitivity of the radar for fall detection. The sensitivity value typically ranges from 3 to 10, with higher values making the sensor more responsive to potential falls. + +- **`mmWave.getRadarParameters(float &height, float &threshold, uint32_t &sensitivity)`**: + - Retrieves the current configuration parameters of the radar, including installation height, fall detection threshold, and sensitivity settings. These parameters are returned via the reference variables. + +- **`mmWave.getHuman()`**: + - Checks if a human presence is detected by the radar. Returns `true` if a human is detected, and `false` otherwise. + +- **`mmWave.getFall()`**: + - Determines whether a fall has been detected. This function returns `true` if a fall is detected and `false` if not. + + +## Resources + +- **GitHub Repository**: Access the full codebase and documentation at the [Seeed mmWave Library GitHub page](https://github.com/Love4yzp/Seeed-mmWave-library). +- **ESPHome Documentation**: For further customization and integration, refer to the [ESPHome documentation](https://esphome.io/). + + +## Tech Support & Product Discussion + +Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs. + +
+
+ + +
+ +
+ + +
+
\ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 0347d9b95d68..34dc8d248174 100644 --- a/sidebars.js +++ b/sidebars.js @@ -761,6 +761,7 @@ const sidebars = { items: [ 'Sensor/SenseCAP/SenseCAP_T1000_Tracker/Integrated_with_Popular_Dashboard/Datacake_Integrated', 'Sensor/SenseCAP/SenseCAP_T1000_Tracker/Integrated_with_Popular_Dashboard/Ubidots_Integrated', + 'Sensor/SenseCAP/SenseCAP_T1000_Tracker/Integrated_with_Popular_Dashboard/thingsboard_integrated', 'Sensor/SenseCAP/SenseCAP_T1000_Tracker/Integrated_with_Popular_Dashboard/Ubidots_Integrated(Helium)', 'Sensor/SenseCAP/SenseCAP_T1000_Tracker/Integrated_with_Popular_Dashboard/Qubitro_Integrated', 'Sensor/SenseCAP/SenseCAP_T1000_Tracker/Integrated_with_Popular_Dashboard/TagoIO_Integrated', @@ -999,14 +1000,28 @@ const sidebars = { 'Sensor/mmWave_radar_sensor/mmwave-for-XIAO/mmwave-for-xiao', 'Sensor/mmWave_radar_sensor/mmwave-for-XIAO/mmwave-for-xiao_arduino', 'Sensor/mmWave_radar_sensor/mmwave-for-XIAO/mmwave-for-xiao-connect-to-HA', - 'Sensor/mmWave_radar_sensor/mmwave-for-XIAO/mmwave-for-xiao-60GHz', ], - },{ + }, + { type: 'category', - label: 'mmWave kit', + label: 'MR24HPC1 mmWave kit', items: [ - 'Sensor/mmWave_radar_sensor/mmwave-kit/mmwave_human_kit', - 'Sensor/mmWave_radar_sensor/mmwave-kit/mmWave_Kit_And_Grove_Connect_To_ESPHome', + 'Sensor/mmWave_radar_sensor/mr24hpc1-mmwave-kit/mr24hpc1-mmwave_human_kit', + 'Sensor/mmWave_radar_sensor/mr24hpc1-mmwave-kit/mr24hpc1-mmWave_Kit_And_Grove_Connect_To_ESPHome', + ], + }, + { + type: 'category', + label: 'MR60FDA2 mmWave kit', + items: [ + 'Sensor/mmWave_radar_sensor/mr60bha2-mmwave-kit/getting_started_with_mr60bha2', + ], + }, + { + type: 'category', + label: 'MR60BHA2 mmWave kit', + items: [ + 'Sensor/mmWave_radar_sensor/mr60fda2-mmwave-kit/getting_started_with_mr60fda2', ], }, 'Sensor/mmWave_radar_sensor/Radar_MR24HPC1', @@ -3067,7 +3082,8 @@ const sidebars = { type: 'category', label: 'Fleet Management', items: [ - 'Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/recomputer_r1000_balena', + 'Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/balenaOS/recomputer_r1000_balena', + 'Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/balenaOS/recomputer_r1000_build_seeed_balena_image', ], }, @@ -3150,6 +3166,13 @@ const sidebars = { 'Edge/NVIDIA_Jetson/Carrier_Boards/J401/J401_carrierboard_Hardware_Interfaces_Usage', ], }, + { + type: 'category', + label: 'J501 Carrier Board', + items: [ + 'Edge/NVIDIA_Jetson/Carrier_Boards/J501/reServer_Industrial_J501_Getting_Started', + ], + }, 'Edge/NVIDIA_Jetson/Carrier_Boards/A203v2/reComputer_A203_Flash_System', 'Edge/NVIDIA_Jetson/Carrier_Boards/A205/reComputer_A205_Flash_System', 'Edge/NVIDIA_Jetson/Carrier_Boards/A603/A603_Flash_JetPack',