|
|
|
|
// VoiceRepotCommand.h
|
|
|
|
|
|
|
|
|
|
#ifndef _VOICEREPORTCOMMAND_h
|
|
|
|
|
#define _VOICEREPORTCOMMAND_h
|
|
|
|
|
|
|
|
|
|
#if defined(ARDUINO) && ARDUINO >= 100
|
|
|
|
|
#include "arduino.h"
|
|
|
|
|
#else
|
|
|
|
|
#include "WProgram.h"
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#include "CommandEncoder.h"
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD>
|
|
|
|
|
* 1. <EFBFBD><EFBFBD><EFBFBD>ݵIJ<EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD>ѯ<EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᱻ<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵӳ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* 2. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳɣ<EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD>ZigBee<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8λ<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD>´˹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>֡<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
class VoiceReportCommand : private CommandEncoder
|
|
|
|
|
{
|
|
|
|
|
private:
|
|
|
|
|
const byte RT_VoiceCommand = 0x01;
|
|
|
|
|
const byte RT_DateCommand = 0x02;
|
|
|
|
|
const byte RT_TimeCommand = 0x03;
|
|
|
|
|
const byte RT_WeatherTempCommand = 0x04;
|
|
|
|
|
public:
|
|
|
|
|
enum class VoiceCmd
|
|
|
|
|
{
|
|
|
|
|
Fu_Qiang_Lu_Zhan = 0x00, //<2F><>ǿ·վ
|
|
|
|
|
Min_Zhu_Lu_Zhan = 0x01, //<2F><><EFBFBD><EFBFBD>·վ
|
|
|
|
|
Wen_Ming_Lu_Zhan = 0x02, //<2F><><EFBFBD><EFBFBD>·վ
|
|
|
|
|
He_Xie_Lu_Zhan = 0x03, //<2F><>г·վ
|
|
|
|
|
Ai_Guo_Lu_Zhan = 0x04, //<2F><><EFBFBD><EFBFBD>·վ
|
|
|
|
|
Jing_Ye_Lu_Zhan = 0x05, //<2F><>ҵ·վ
|
|
|
|
|
You_Shan_Lu_Zhan = 0x06 //<2F><><EFBFBD><EFBFBD>·վ
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum class WeatherCmd
|
|
|
|
|
{
|
|
|
|
|
Wind = 0x00, //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
Cloudy = 0x01, //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
Sunny = 0x02, //<2F><>
|
|
|
|
|
Snow = 0x03, //Сѩ
|
|
|
|
|
Rain = 0x04, //С<><D0A1>
|
|
|
|
|
Overcast = 0x05 //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum class TextEncoding
|
|
|
|
|
{
|
|
|
|
|
GB2312 = 0x00,
|
|
|
|
|
GBK = 0x01,
|
|
|
|
|
BIG5 = 0x02,
|
|
|
|
|
Unicode = 0x03
|
|
|
|
|
};
|
|
|
|
|
public:
|
|
|
|
|
VoiceReportCommand();
|
|
|
|
|
public:
|
|
|
|
|
byte* CMD_ReportSpecVoice(VoiceCmd type);
|
|
|
|
|
byte* CMD_ReportRandomVoice();
|
|
|
|
|
byte* CMD_SetRTCStartDate(uint16_t year, byte month, byte day);
|
|
|
|
|
byte* CMD_ReadRTCDate();
|
|
|
|
|
byte* CMD_SetRTCStartTime(byte hour, byte minute, byte second);
|
|
|
|
|
byte* CMD_ReadRTCTime();
|
|
|
|
|
byte* CMD_SetWeatherAndTemperature(WeatherCmd weather, byte temp);
|
|
|
|
|
byte* CMD_QueryWeatherAndTemperator();
|
|
|
|
|
public:
|
|
|
|
|
bool IsVoiceCommand(byte* cmd);
|
|
|
|
|
bool IsVoiceAvailable(byte* cmd);
|
|
|
|
|
bool ReadRTCDate(byte* cmd, uint16_t& year, byte& month, byte& day);
|
|
|
|
|
bool ReadRTCTime(byte* cmd, byte& hour, byte& minute, byte& second);
|
|
|
|
|
bool ReadWeatherAndTemperature(byte* cmd, WeatherCmd& weather, byte& temp);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|