## The original intention of production is
to learn and use the esp32c3wroom module
## Preparation development environment required before production
: Jialichuang EDA (hardware), Arduino IDE (software), Tencent Cloud webpage (software), MQTT.fx (software)
knowledge learned :
PCB design, circuit knowledge (basic)
use of Arduino IDE, C language, creation of cloud server, Mqtt protocol, json format
## Overall plan
! [Screenshot 2023-04-27 090533.png]

## Improved space
circuit:
The power supply circuit is imperfect and needs to be improved by learning relevant circuit knowledge.
The electromagnetic switch control pin can be changed from one to two, so that magnetic objects can attract and repel.
Physics:
Electromagnetic: The electromagnetic switch is unstable. Use other physical methods to switch and lock.
## Harvest
From the production to the timeline,
I have been hesitating in the early stage of Harvest registration, and finally decided to learn some knowledge first, and then decide whether to participate.
![IMG_20230427_080857.jpg]

![IMG_20230427_080901.jpg]

When I learned how to successfully light a lamp, I felt like I could participate. So I started designing the circuit plan. When designing the circuit scheme, I spliced it together based on multiple functional circuits. I only understood the general functions, but did not know the specific working principles, which led to constant problems later. The biggest problem was that the power supply did not match. One was 7.4 volts. of power supply. But actually it requires 5 volt power supply.
Gain: When designing the circuit, the principle of the power supply must be understood, while other functional signal lines must be able to understand their operation.
When the program was being designed, I discovered that what was mentioned in the previous book was only a rough outline and the code only implemented a single function. I found that there was no cloud server setup and json format instructions. So I learned to contact Tencent Cloud Server in the Arduino environment. None of the information found satisfied these two points (in the Arduino environment, contact the Tencent cloud server). So we figured out the three joint elements (ID, Nname, Secret) needed to contact the Tencent Cloud server, and learned to convert them into the two parameters used (UserName, Password). Later I discovered that the string needs to follow the specified format to send and issue commands. So learn json format. During the communication debugging process, it was found that the hardware circuit was tested directly with the server, and it was difficult to find the problem. Start learning and installing MQTT.fx.
![IMG_20230427_090940.jpg]

Gains: Learn to contact Tencent Cloud Server, json format, and use MQTT.fx.
![image.png]

At this time, when I was making boards, I discovered that there was a big problem with the power supply of the circuit design, and there was not enough time. I could only use perforated boards to solder the circuits, and the circuit components were composed of circuit modules. Instead.
## Summary:
As a newbie, especially the first time I design a circuit project by myself, although the result is not ideal, it is full of gains. I learned the basic knowledge related to the Internet of Things, and more importantly, how to learn when making my own projects and what kind of mentality I should maintain during the production process. I personally feel that you should have the mentality of not being afraid of problems and actively learning new knowledge.