1677 views|2 replies

282

Posts

2

Resources
The OP
 

[RVB2601 Creative Application Development] Network Alarm Clock [Copy link]

 This post was last edited by hehung on 2022-6-4 12:45

Internet alarm clock

Author: hehung

1. Project Background

The purpose of this design is to solve the shortcomings of the alarm clocks on the market, which have a single function and no networking function. When I first learned about RVB2601, I saw the onboard OLED display, buttons, WIFI and other devices, and I had the idea of making a multifunctional networked alarm clock. All functions can be completed with onboard resources, without the need for external sensors, etc., which simplifies the setting process. After three months of repeated debugging, in addition to the alarm clock function, it finally realized functions such as obtaining weather information, automatic time calibration, manual time setting, IoT remote control, and time reporting.

II. Introduction

This work is a multifunctional alarm clock, which mainly realizes calendar time display, weather information display, network status display, voice time reporting, alarm setting, network time adjustment, manual time setting, wifi configuration, city setting and other functions. All settings are in default state at the first power-on. Users can set the wifi name and password, and then automatically connect to the network for time adjustment, weather information acquisition, IoT connection, etc. After the Wifi is configured, the system will automatically save the configuration information, and will automatically connect to the network at the next power-on. Through clever design, all operations are completed through the two onboard buttons or the IoT WEB interface configuration, and all settings in the system will be automatically saved and not lost when the power is off.

3. System Block Diagram

The system uses AOS, kv, network management, RTC, NTP, cJSON, player, AT and other resources.

The peripherals used are onboard peripherals OLED, speakers, LEDs, buttons KEY1 and KEY2, and onboard wifi chip W800. The overall system design architecture is shown in the figure below.

  1. OLED

The OLED part is mainly used to display information. The entire system can be set up and operated according to the current display interface. Because this part of the architecture is relatively complex, a separate diagram is drawn to illustrate it, as shown below:

OLED is the core part of this work, which mainly consists of nine parts. The switching of each part is described in detail in Chapter 4.

① Time display interface. Used to display date and time, network status, alarm on status, IOT platform connection status, current weather and temperature and humidity information;

②Menu display interface. Four optional menu items are displayed, namely settings, wifi network configuration, weather, and exit;

③ Set the display interface. Display alarm, volume and volume percentage, sound effects and sound effect enable status, time and time enable status, online time and online time enable status, time, weather city code, exit and other information;

④Wifi network configuration display interface. Displays wifi name length, wifi name, wifi password length, wifi password, exit and other information;

⑤ Weather information display interface. This interface will scroll and mainly display today's weather, today's temperature, today's humidity, current weather, current temperature and other information;

⑥Alarm selection display interface. Displays alarm time, current alarm number, switch to previous alarm button, switch to next alarm button, exit and other information;

⑦Alarm setting display interface. Displays the number of the current alarm, alarm time, alarm enable status, alarm enable status from Monday to Sunday, exit and other information;

⑧Time setting display interface. Mainly displays the year, month, day, hour, minute, second of the time to be set, exit and other information;

⑨City code setting display interface. This code is used to obtain weather information and displays the weather code of the city to be obtained.

  1. trumpet

The speaker is used to play "welcome sound", "alarm music", "key sound effect" and "volume setting sound effect".

  1. led

Green and red LEDs were used in the work .

The green LED acts as a system operating indicator light, changing alternately between bright and dark;

The red LED is used as an alarm indicator light. When the set alarm time arrives, the green LED stops working and the red LED changes to alternate light and dark in a cycle to remind you that the alarm time has arrived.

  1. button

The two onboard buttons KEY1 and KEY2 are used to switch the display interface and operate all setting items.

  1. W800

Used for network control, IoT data interaction, NTP time synchronization, and weather information acquisition.

After power-on, NTP time calibration will be automatically performed. After the calibration is completed, weather information will be obtained and then the IoT platform will be connected for data exchange.

  1. WEB

The web interface is used for IoT control. It includes alarm time setting, enable/disable setting, alarm week enable/disable setting, volume percentage setting, sound effect enable/disable setting, time signal enable/disable setting, online time synchronization enable/disable setting, time setting, weather city code setting and other control functions, which are easy to use and can be used in combination with local settings;

4. Functional description and analysis of each part

The task allocation in the software implementation is shown in the figure below.

  1. button

The key logic works in a task with a period of 20ms.

The buttons use two onboard buttons KEY1 and KEY2 to implement all control operations required by the system.

Each button supports four control modes, as follows:

(1) Short press

The button pressing time is less than 500ms.

(2) Long press

The button is pressed for a time greater than or equal to 500ms

(3) Keep pressing the button

The button is pressed for 500ms or longer and is not released.

(4) Keep the button released.

This is the default state and there is no special logic processing.

These control modes are described in detail in 5. OLED.

  1. led

The LED logic is executed in a task with a period of 100ms.

( 1) LED is mainly used to show whether the system is working properly. The green LED uses PWM to control the periodic alternation of light and dark.

( 2) When the alarm responds, PWM controls the red LED to alternate between light and dark periodically, and the green LED turns off.

( 3) After the alarm is canceled, the green LED continues to alternate between light and dark periodically.

  1. NTP Network Time Synchronization

The NTP task period is 100ms.

After the task is created, initialize the RTC to import the default calendar time, and then enter the NTP time synchronization task.

The task logic is as follows:

(1) If the "Network Time Synchronization" function is enabled and the network connection is successful, the NTP time is obtained to calibrate the local RTC calendar;

(2) If the "Network Time Synchronization" function is enabled and the network connection is unsuccessful, wait for the network connection;

(3) If the "Network Time Synchronization" function is disabled, the network time will not be obtained;

(4) If the "Network Time Synchronization" function changes from disabled to enabled, the network time is immediately obtained to calibrate the local RTC calendar.

  1. Alarm clock

The alarm task cycle is 1s.

This game supports setting up to 10 alarms. Each alarm can be set with time (hours, minutes), enablement /skill settings, and Monday to Sunday enablement/skill settings .

The following functions are supported:

( 1) If the alarm is enabled and no week is enabled (i.e., not enabled from Monday to Sunday), the alarm will be a single sound. Once the alarm is activated, it will be set to disabled state;

( 2) If the alarm is enabled and any one or more of the days from Monday to Sunday are enabled, the alarm will work periodically in units of weeks. If Monday to Sunday are enabled, the alarm will work every day;

( 3) If the alarm is disabled, the disabled alarm will not work;

( 4) If multiple alarms are enabled, all of them will work independently of each other.

( 5) After the task is created, it will periodically scan whether the set alarm time has arrived. If the set alarm time has arrived, the alarm music will be played and the red LED will be controlled to alternate between light and dark periodically;

( 6) If any button is pressed during the alarm (whether long or short), the alarm will stop playing;

( 7) Once the alarm is activated, it will start counting down. If it is not turned off manually for 5 consecutive minutes, it will automatically turn off.

  1. IoT data interaction

The period of IoT data interaction task is 1s.

The IoT platform uses Alibaba Cloud's Feiyan platform, which is mainly used for remote control of the "network alarm clock". All web settings will be synchronized with local settings in real time.

The IoT web control interface is shown in the figure below.

(1) Network calibration enable: Enable or disable the NTP function. When the NTP function is switched from disable to enable, the time will be automatically calibrated once;

(2) Volume percentage: adjust the volume percentage (0-100);

(3) Key sound effect: enable or disable the key sound effect function;

(4) Time reporting: Enable or disable the time reporting function (the time reporting function only supports reporting from 9:00 a.m. to 6:00 p.m.);

(5) Set time: Manually set the time. This is only effective if the "Network Time Synchronization" function is disabled. Otherwise, the setting is invalid.

(6) City code: Set the city code for obtaining weather information. The weather city code must be valid. The weather city code can be found at: https://blog.csdn.net/mxh3600/article/details/121580770

(7) Alarm setting:

    • Select alarm: Select which alarm to set, the optional value is 1-10;
    • Alarm enable: enable or disable the alarm function;
    • Alarm time: set the alarm activation time;
    • Alarm cycle selection: Select whether to activate the alarm periodically in weeks. If you select any one or more weeks (Monday to Sunday) to enable, the alarm will be activated after the specified time of each week. If you disable it from Monday to Sunday, the alarm will only be activated once.

  1. Weather acquisition

The task cycle for obtaining weather is 1s.

After the task is created, it will enter the process of preparing to obtain weather information.

( 1) If NTP is enabled, wait until NTP is successfully acquired before obtaining weather information;

( 2) If NTP is disabled, wait for the network connection to succeed before obtaining weather information;

( 3) After the first weather information is obtained successfully, weather information is obtained once every hour to meet the need for real-time updates of the latest weather.

The GET method is used to obtain the weather , and the specified http weather information is obtained. The real-time weather is obtained at the URL: https://www.nowapi.com/api/weather.today

The platform offers a three-month free trial, with up to 20 acquisitions per hour.

The obtained JSON example is shown in the figure below. By parsing the JSON data, the current weather information, current temperature and humidity information, today's weather information, today's temperature information, etc. are extracted.

  1. trumpet

The speaker task has a period of 100ms and is used to play alarm music, key sounds, volume adjustment sounds, and system startup welcome voice.

The functions are as follows:

(1) When the system starts, a welcome “Hello voice” is played;

(2) When the alarm is activated, the speaker plays the alarm sound effect;

(3) If "sound effects" are enabled, a key sound effect will be played every time a key is pressed;

(4) If you are adjusting the volume, the sound effect will play after the volume is adjusted;

(5) The volume can be adjusted in the "Settings" interface or through IoT control;

(6) If "Time Telling" is enabled, the time telling function supports telling the time from 9:00 a.m. to 6:00 p.m. If it is disabled, the time will not be told.

  1. OLED

OLED will display a total of nine different interfaces, as follows:

(1) Time display interface

The time display interface will show the following information:

  • Wifi connection status. If there is no network connection, the Wifi icon in the upper left corner will be flashing; if the Wifi connection is successful, the Wifi icon will be always on;
  • ②Alarm clock enabled status. If no alarm clock is turned on, the alarm clock icon will not be displayed; if any alarm clock is turned on, the alarm clock icon will be displayed;
  • ③ IoT connection status. If the IoT platform connection fails, the IoT icon will be flashing; if the IoT platform connection is successful, the IoT icon will be always on;
  • ④ Weather and temperature and humidity information. If the weather is not obtained, "Unknown" will be displayed; if the weather is successfully obtained, the real-time weather information and real-time temperature and humidity information will be displayed alternately.
  • ⑤ Time display. Display real time, get the real time from RTC and display it.

In this interface, short press “KEY1” to enter the “Menu Interface” .

(2) Menu display interface

The menu display interface will show the following menu:

    • Setting icon: After selecting, long press "KEY1" or "KEY2" to enter the "setting interface", short press "KEY1" to jump to the "Wifi network configuration icon", short press "KEY2" to jump to the "exit icon";
    • Wifi network configuration icon: After selecting, long press "KEY1" or "KEY2" to enter the "WIFI network configuration interface", short press "KEY1" to jump to the "weather icon", short press "KEY2" to jump to the "settings icon";
    • Weather icon: After selecting, long press "KEY1" or "KEY2" to enter the "weather display interface", short press "KEY1" to jump to the "exit icon", short press "KEY2" to jump to the "WIFI configuration interface";
    • Exit icon: After selecting, long press "KEY1" or "KEY2" to return to the "time display interface, short press "KEY1" to jump to the "settings icon", short press "KEY2" to jump to the "weather icon".

(3) Set the display interface

The setting interface is divided into three pages and is shown as follows:

The first page shows:

    • Alarm: After selecting, long press "KEY1" or "KEY2" to enter the "Alarm Selection Interface", short press "KEY1" to jump the cursor to "Volume and Volume Percentage", short press "KEY2" to jump the cursor to "Exit";
    • Volume and volume percentage: After selecting, long press "KEY1" and hold to increase the volume. After selecting, long press "KEY2" and hold to decrease the volume. Short press "KEY1" to jump the cursor to "Sound Effect and Sound Effect Enable Status". Short press "KEY2" to jump the cursor to "Alarm Clock".
    • Sound effects and sound effect enabling status: If the current state is disabled, long press the "KEY1" or "KEY2" button to switch the sound effect to the enabled state; if the current state is enabled, long press the "KEY1" or "KEY2" button to switch the sound effect to the disabled state after selecting; short press the "KEY1" cursor to jump to "time and enabling status", short press the "KEY2" cursor to jump to "volume and volume percentage";

The second page shows:

    • Time telling and enabling status: If it is currently disabled, long press "KEY1" or "KEY2" to switch the time telling function to the enabled state after selecting it; if it is currently enabled, long press "KEY1" or "KEY2" to switch the time telling function to the disabled state after selecting it, short press "KEY1" to jump to "sound effect and sound effect enabling state", short press "KEY2" to jump to "online time calibration and enabling state";
    • Online time synchronization and enable status: If it is currently disabled, long press "KEY1" or "KEY2" after selecting it to switch the NTP time synchronization function to the enabled state; If it is currently enabled, long press "KEY1" or "KEY2" after selecting it to switch the NTP time synchronization function to the disabled state; short press "KEY1" to jump the cursor to "time", short press "KEY2" to jump the cursor to "time reporting and enable status";
    • Time: After selecting, long press "KEY1" or "KEY2" to enter the "manual time setting interface", short press "KEY1" to jump the cursor to "city", short press "KEY2" to jump the cursor to "online time calibration and enable status";

The second page shows:

    • City: After selecting, long press "KEY1" or "KEY2" to enter the "Weather City Code Setting Interface", short press "KEY1" to jump the cursor to "Exit", short press "KEY2" to jump the cursor to "Time";
    • Exit: After selecting, long press "KEY1" or "KEY2" to exit the "Menu Display Interface", short press "KEY1" to jump the cursor to "Alarm Clock", short press "KEY2" to jump the cursor to "City";

(4) Wifi network configuration interface

Note: When setting the WiFi name and password, in order to simplify the input logic, two buttons are used to represent the high and low bits of ASCII for input, which can realize the input of all printable characters of standard ASCII code. "KEY2" corresponds to the high bit of ASCII hexadecimal, and "KEY1" corresponds to the low bit of ASCII hexadecimal. Short press "KEY2" to add one to the high bit of ASCII, and short press "KEY1" to add one to the low bit of ASCII. The printable ASCI characters are 0x20-0x7E, so the WiFi name and password only support printable characters on ASCII, and do not support Chinese and other complex characters, so the name and password of the connected router need to be common characters. When setting the password and WiFi name, the current ASCII hexadecimal number will be displayed in the upper left corner for easy viewing. See the video for detailed operations.

The Wifi network configuration will display three pages, as follows:

    • Wifi name and its length setting page: When the cursor is on the name length, short press "KEY1" to add 1 to the length, short press "KEY2" to subtract 1 from the length; long press "KEY1" to switch to the first character of the name setting. If the cursor is on the last character of the wifi name, long press "KEY1" to switch to "wifi password length setting". If the cursor is on "name length", long press "KEY2" to switch the cursor to "exit". If the cursor is on the first character of the name, long press "KEY2" to switch the cursor to "wifi name length".

When setting the Wifi name, the short press combination of the two buttons is the ASCII value, which is convenient for setting; long press "KEY2" to switch to the previous character, and long press "KEY1" to switch to the next character. For detailed operations, see the video.

Note: The WiFi name can be up to 32 characters long and at least 1 character long.

    • Wifi password and its length setting interface: When the cursor is on the password, short press "KEY1" to increase the length by 1, short press "KEY2" to decrease the length by 1; long press "KEY1" to switch to the first character of the password setting, long press "KEY2" to switch the cursor to the last character of the "wifi name" setting.

When setting the Wifi password, the short press combination of the two buttons is the ASCII value, which is convenient for setting; long press "KEY2" to switch to the previous character. If the current cursor is on the first password character, long press "KEY2" to switch the cursor to "Password Length", and long press "KEY1" to switch to the next character. When the cursor is on the last password character, long press "KEY1" to switch to "Exit". See the video for detailed operations.

Note: The password supports a maximum of 64 characters and a minimum of 8 characters or 0 characters (indicating no password).

    • Wifi password setting interface and exit interface.

When the cursor is on "Exit", short press "KEY1" or "KEY2" to return to the "Menu Display Interface", long press "KEY1" to switch the cursor to "WiFi Name Length", and long press "KEY2" to switch the cursor to the last character of "Password".

Note: The Wifi configuration is a bit complicated because the w800 does not have AP function. If it has AP function, some processes can be simplified. This way it can connect to most routers and only needs to be configured once. It will automatically connect next time it is powered on without reconfiguring.

(5) Weather information display interface

The weather display interface will scroll and display today's weather, today's temperature range, current weather, current temperature, current humidity and other information.

Pressing any button (whether long or short) will return to the "menu display interface".

(6) Alarm selection interface

There are 4 options in the alarm selection interface , as shown below:

    • <: When the cursor is here, short press "KEY1" to switch the cursor to "Alarm Selection", short press "KEY2" to switch the cursor to "Exit", long press "KEY1" or "KEY2" to switch to the previous alarm; the number after "<" is the alarm number, ranging from 01-10.
    • Alarm selection: When the cursor is here, short press "KEY1" to switch the cursor to ">", short press "KEY2" to switch the cursor to "<", long press "KEY1" or "KEY2" to switch to the "alarm detailed setting interface";
    • >: When the cursor is here, short press "KEY1" to switch the cursor to "Exit", short press "KEY2" to switch the cursor to "Alarm Selection", long press "KEY1" or "KEY2" to switch to the next alarm;
    • Exit: When the cursor is here, short press "KEY1" to switch the cursor to "<", short press "KEY2" to switch the cursor to ">", long press "KEY1" or "KEY2" to return to the "setting display interface";

(7) Detailed alarm settings interface

The configurable items are “<”, “>”, “Hour”, “Minute”, “Switch”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”, and “Exit”.

Short press "KEY1" and the cursor will switch to the next configurable item;

Short press "KEY2" and the cursor will switch to the previous configurable item;

Long press "KEY1" or "KEY2" or press and hold to set different contents.

When the cursor is on different setting items, the setting contents are different, as explained below:

“<”: Long press “KEY1” or “KEY2” to switch to the previous alarm;

">": Long press "KEY1" or "KEY2" to switch to the next alarm;

“Hours”: Long press “KEY1” and keep the alarm clock to increase by one continuously, long press “KEY2” and keep the alarm clock to decrease by one continuously;

“Minutes”: long press “KEY1” and keep the alarm minute increasing by one, long press “KEY2” and keep the alarm minute decreasing by one;

"Switch": When the display shows "Off", long press "KEY1" or "KEY2" to change to "On", indicating that the alarm is enabled; when the display shows "On", long press "KEY1" or "KEY2" to change to "Off", indicating that the alarm is disabled;

"One": When the display shows disabled, long press "KEY1" or "KEY2" to enable, which means the alarm is enabled and activated at the specified time every Monday; when the display shows enabled, long press "KEY1" or "KEY2" to disable;

"Two": When the display shows disabled, long press "KEY1" or "KEY2" to enable, which means the alarm is enabled and will be activated at the specified time every Tuesday; when the display shows enabled, long press "KEY1" or "KEY2" to disable;

"Three": When the display shows disabled, long press "KEY1" or "KEY2" to enable, which means the alarm is enabled and will be activated at the specified time every Wednesday; when the display shows enabled, long press "KEY1" or "KEY2" to disable;

"Thursday": When the display shows disabled, long press "KEY1" or "KEY2" to enable, which means the alarm is enabled and will be activated at the specified time every Thursday; when the display shows enabled, long press "KEY1" or "KEY2" to disable;

"Five": When the display shows disabled, long press "KEY1" or "KEY2" to enable, which means the alarm is enabled and will be activated at the specified time every Friday; when the display shows enabled, long press "KEY1" or "KEY2" to disable;

"Saturday": When the display shows disabled, long press "KEY1" or "KEY2" to enable, which means the alarm is enabled and will be activated at the specified time every Saturday; when the display shows enabled, long press "KEY1" or "KEY2" to disable;

“Daily”: When the display shows disabled, long press “KEY1” or “KEY2” to enable, which means the alarm is enabled and will be activated at the specified time every Sunday; when the display shows enabled, long press “KEY1” or “KEY2” to disable;

“Exit”: long press “KEY1” or “KEY2” to return to the “Alarm Selection Interface”;

(8) Manual time setting interface

  • If the "Network Time Synchronization" function is enabled, you cannot set the time manually. The "NTP Enabled Prompt Message" will be displayed, and it will automatically return to the "Settings Interface" after one second.

    • If the "Network Time Synchronization" function is disabled, enter the manual time setting interface, as shown below:

Manual settings can be set to "hour", "minute", "second", "year", "month", "day" and "exit";

Long press "KEY1" to switch to the next setting item, long press "KEY2" to switch to the previous setting item;

When the cursor is on the time setting item, short press "KEY1" to increase the time by one, short press "KEY2" to decrease the time by one;

When the cursor is at "Exit", short press "KEY1" or "KEY2" to return to the "Settings Interface".

(9) Weather city code setting interface

The city code setting interface is mainly used to set the city code required to obtain weather. The city code can be found at: https://blog.csdn.net/mxh3600/article/details/121580770

The city code only supports numbers and must be 9 digits long.

Long press "KEY1" to switch the cursor to the next number;

Long press "KEY2" to switch the cursor to the previous number;

When the cursor is on a number, short press "KEY1" to increase the number by one, short press "KEY2" to decrease the number by one;

When the cursor is on "Exit", short press "KEY1" or "KEY2" to return to the "Settings Interface", long press "KEY1" to switch the cursor to the last digit of the city code, and long press "KEY2" to switch the cursor to the first digit of the city code.

  1. KV

KV does not have a separate task and is mainly used by other modules to save data without losing it during power failure.

The following data will be recorded and saved in the KV space:

  1. Volume Percentage
  2. Key sound effect enable status
  3. Time signal enable status
  4. NTP network time synchronization function enable status
  5. Weather City Code
  6. Wifi name length
  7. Wifi name string
  8. Wifi password length
  9. Wifi password string
  10. Alarm 1 to Alarm 10 time, enable status, enable day of the week, and other setting information
  11. Initialization state: Mainly used to record whether the configuration items in (1)-(10) above have been recorded in KV, and to load the default configuration when power is turned on. If it is not recorded in KV, the default value is loaded, and if it is recorded in KV, the stored value is read.
  1. RTC

RTC does not have a separate task. It automatically initializes and loads the initial setting value when powered on. If the time is updated by NTP, manual time or Web, the setting value is reloaded to RTC.

5. Source Code

The work has been uploaded to gitee, link:

链接已隐藏,如需查看请登录或者注册

Note: The library file is modified in the source code, so the library file is uploaded together. If you need to test this program, you need to download the entire file package, compile and run it directly after downloading.

Source code file structure:

app_alarm.c, app_alarm.h: alarm handler

app_display.c, app_display.h: OLED screen display processing program and switching logic

app_iot.c, app_iot.h: IoT processing logic

app_key.c, app_key.h: key processing logic

app_kv.c, app_kv.h: Set up storage logic

app_main.c: main function entry

app_oled.c, app_oled.h: OLED display logic driver, character display, Chinese character display, string display, digital display, etc.

app_oled_bmp.h: Displayed image array

app_oled_Font.h: Displayed text array, Chinese characters, ASCII codes, etc.

app_player.c, app_player.h: Speaker player processing program

app_rgb.c, app_rgb.h: RGB LED processing logic

app_rtc.c, app_rtc.h: RTC and NTP processing logic

app_weather.c, app_weather.h: weather information processing logic

Oled_drv.c, oled_drv.h: OLED SPI driver, from the official, with my own small changes

Mp3_hex.h:

6. Video Demonstration

The video will demonstrate how to operate the network alarm clock.

The video has been uploaded to bilibili, the link is: https://www.bilibili.com/video/BV1dr4y1G7yP/

VII. Project Summary

This is my first time to use a board from Pingtouge. When I first saw this board, I felt that the design was very beautiful, so I applied for the competition. Although I encountered some problems during the development process, they were finally solved with the help of Pingtouge's waiter. After three months, I completed the understanding and practice of the development board resources and finally completed this work. It is a summary of my study of the development board, and it also gave me a deep understanding of Pingtouge's board. I hope to do better and better. Thanks to EEWORLD and Pingtouge for their support.

Post sharing link:

[ RVB2601 Creative Application Development] 1. Unboxing https://bbs.eeworld.com.cn/thread-1195813-1-1.html

[ RVB2601 Creative Application Development] 2. Try to control the onboard RGB https://bbs.eeworld.com.cn/thread-1195828-1-1.html

[ RVB2601 Creative Application Development] 3. Onboard Button Experiment https://bbs.eeworld.com.cn/thread-1195831-1-1.html

[ RVB2601 Creative Application Development] 4. Use RTC to record time http://https://bbs.eeworld.com.cn/thread-1195848-1-1.html

[ RVB2601 Creative Application Development] 5. Solve the problem that W800 sometimes cannot connect to the Internet https://bbs.eeworld.com.cn/thread-1205623-1-1.html

[ RVB2601 Creative Application Development] 6. Get weather information http://https://bbs.eeworld.com.cn/thread-1205624-1-1.html

[ RVB2601 Creative Application Development] 7. IoT Control https://bbs.eeworld.com.cn/thread-1205711-1-1.html

8. Others

Let's talk about some compiler problems encountered during the development process:

  1. CDK development and debugging is very inconvenient. Some shortcut keys cannot be used, and function jumps are invalid. After following the forum posts, it still doesn't work. Then I use VSCode to edit the code and CDK to compile and download;
  2. Let's talk about the problems that CDK still has. The main problem is that when compiling the code, many errors are identified without specifying the specific errors. Instead, the compilation failure is reported, which takes a lot of time to find the errors:
    1. Undefined variables are used;
    2. Functions in other .h files are used , but the .h files are not included;
    3. No semicolon at the end of the code;
    4. Static functions are declared and called before they are defined;
    5. When calling a function, the wrong number of parameters were passed.

The format of the document written in Word does not match here, so the Word document is uploaded directly, see the attachment.

1_平头哥RVB2601活动作品提交-网络时钟-hehung.doc (2.91 MB, downloads: 4)

Latest reply

The post is very well written, I hope you win a prize. You are a talented person who will make a name for yourself overnight, keep it up!  Details Published on 2022-6-4 20:57
 
 

6841

Posts

11

Resources
2
 
The post is very well written, I hope you win a prize. You are a talented person who will make a name for yourself overnight, keep it up!

Comments

Thanks  Details Published on 2022-6-5 09:52
 
 
 

282

Posts

2

Resources
3
 
lugl4313820 posted on 2022-6-4 20:57 The post is very well written, I hope to win an award, you are a talented person who will make a name for yourself, keep it up!

Thanks

 
 
 

Just looking around
Find a datasheet?

EEWorld Datasheet Technical Support

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
快速回复 返回顶部 Return list