This is a private repository for my project at WISEST lab during Summer 2018 as an undergraduate research assistant. This project is a dairy IoT, using chiefly Arduino (C++/C) and MATLAB. MATLAB is responsible for gathering data from experiments and finding calibration coefficients. Arduino programs a microcontroller board. The goal is to monitor the core temperature of livestock and to wirelessly send the data through the internet.
- Adafruit Feather M0 LoRa MCU x2
- ESP8266 WiFi Module
- Priority1 RFIDRW-E-TTL Reader with an antenna
- Bio temperature sensors
- UBBL24-Fl-TH 7.4V 4800 mAh Batteries
- MCP1702-3303 LDO
- VN4012 NMOS
- 1 uF Capacitors
- Clipping Diodes (not used previously but recommended on RX-TX)
- Wires
- Prototype board
- Header pins
- Soldering station
- Power supply
- DMM
- Oscilloscope
- Arduino IDE
- Matlab R2018a
- Altium Designer
- Git
- Microsoft Office
- Google Chrome
- RH_RF95 LoRa library
- RTCZero Timer/Low power library
- SPI (may not actually needed)
- LoRa_RX_Multi HUB's code
- LoRa_TX_RTC_V2 Device's code
- LoRa_TX_NMOS Debugging code without a sleep mode
- Online_Matlab_Code Thingspeak code
- High-level Schematics
- Detailed Schematics of a Hub
- Detailed Schematics of a Device
- ESP8266 AT Command
- Adafruit Feather M0 LoRa schematics
- Datasheets of components
- Some files in Extras folder
- Change a number of devices connected to the hub.
- Change a period of the reading.
- Collision handling could be better by echoing some parts of data sent from a device to a hub back to the device.
- Floating pin on a reader when NMOS creates an open circuit will need to be addressed. Now the current likely goes through RX-TX, which is not good.
- There is still a grounding problem with a device and it can pick up a wrong part of data to be sent or receive a wrong data.
- Sending all reading data to the hub might be a good idea than processing some of them on a device. This comes at a cost of power consumption.
- Make a solid protocol between devices and a hub and across all devices.
- Do not connect V+ and GND of a battery. It could explode.
- Be careful when using a DMM. Do not let a probe touch any 2 pins. This creates a short circuit.
- Unplug or turn off a power supply first before removing any components.
- MCU and IC are sensitive parts. Be especially careful when connecting them and notice the Vin of them.
- When doing a hardware debugging, start at which the problem most likely happens.
- Change period, LoRa signal power, and other variables if needed.
- Program a device. Double-push the reset button and wait for a LED to blink, if needed.
- Be careful when messing with Sleep mode/Standby mode of MCU. It might brick the device.
- In a standby mode (sleep mode), you cannot really use serial communication with a PC since the sleep mode cut the communication.
- If needed, use LoRa_TX_NMOS to debug a device. That program does not have a sleep mode in it, while still printing a reading through a serial communication.
- Change a number of devices, sample per wake or other variables if needed.
- Program a hub.
- The LED blinks every time a hub gets any inputs.
- Create a channel that takes inputs from a hub.
- Read data using readAPIkey and channelID.
- Use Matlab Analysis to analyze the data.
- Post data to a different channel using writeAPIkey and channelID.
- Edit charts and set public view.
- If needed, data can be exported in a CSV file.
- Use a power supply and set a constant voltage (max voltage) and a constant current (1 A recommended)
- Do not a power supply directly to a battery (for safety reason?)
- Use a prototype board and a JST connector to create a charging device.
- Use a DMM to test a voltage at any points.
- Use an oscilloscope to check UART communication.
- Measure an impedance of an antenna.
- Print out a reading and such on a serial communication.
- Look at inputs from a hub to Thingspeak.
- Check Thingspeak code.
- Check the antenna connection.
- Check the power connection and power level.
- Check the software problem.
- Check the prototype board connection.
This project was not possible without Prof. Kim's, Jingjie's, Hanwook's and others' helps. I really appreciate all helps and advices I received and I am grateful to be given a trust to handle this project.
Contact: Anapat Chairithinugull Email: chairithinug@wisc.edu Cell: +1 6087729985