Как загрузить данные датчика из arduino в базу данных?

Я только что подключил экран Libelium для подключения многих датчиков к Arduino UNO, которые измеряют уровень воды, температуру и т. Д. Я действительно не мог понять, как загрузить данные датчика в базу данных (MySQL). У меня есть код для подключения к базе данных, но до сих пор не удалось выяснить, как (Querying) загружать данные датчика в базу данных.

Основная проблема здесь заключается в том, как я могу заставить arduino распознать данные датчика, чтобы загрузить его в базу данных или отправить на другой Arduino или Raspberry pi через XBee.

Код для подключения к базе данных:

void sendData(){

          Serial.println("Connecting...");
          if (my_conn.mysql_connect(server_addr, 3306, user, password)){
            delay(500);
            Serial.println("Starting SQL!");
            Serial.println(INSERT_SQL);
            my_conn.cmd_query(INSERT_SQL);
            Serial.println("Query Success!");
            my_conn.disconnect();
            Serial.println("\n");
          } 
          else {
            Serial.println("Connection failed!");
          }
}
1
Возможно, вы смешиваете проблемы, и вы можете немного разложить свою ментальную модель ситуации. У вас должны быть компоненты считывания сенсора, компонент, который потребляет данные датчика (что-то с ним, например, сбрасывается в БД) и ваш сетевой уровень. Идеальная архитектура (1) Ардуино подключен к датчику. Читайте в измерениях окружающей среды и передавайте данные через ZigBee (2) Arduino или, в идеале, Raspberry Pi прослушивает сообщения в сетке ZigBee. По сообщению, дезинфицируйте данные и вставьте их в БД. Еще лучше процесс очереди между «дезинфекцией данных» и «вставкой в ​​БД»,
добавлено автор Robert Welain, источник

1 ответы

Сначала вам нужно создать таблицу в базе данных MySQL, например:

CREATE TABLE IF NOT EXISTS `table_log` (
  `log_id` int(11) NOT NULL AUTO_INCREMENT,
  `log_date` date NOT NULL,
  `log_time` time NOT NULL,
  `log_t1` float NOT NULL,
  `log_t2` float NOT NULL,
  `log_t3` float NOT NULL,
  `log_t4` float NOT NULL,
  `log_vbatt` float NOT NULL,
  PRIMARY KEY (`log_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1; 

You can execute it in your phpmyadmin page (or create the table manually there). Above we have columns for auto-increment id ('log_id' - necessary), date & time, 4 temperature values and voltage value (modify these according your requirements).

Затем запрос на создание новой записи будет выглядеть следующим образом:

INSERT INTO `table_log` (`log_id`, `log_date`, `log_time`, `log_t1`, `log_t2`, `log_t3`, `log_t4`, `log_vbatt`) VALUES
    (0, '2016-03-04', '01:53:30', 1.0, 2.0, 3.0, 4.0, 3.0);

Вам необходимо создать эту строку динамически (с реальными значениями) и использовать вместо INSERT_SQL.

1
добавлено
Анархическая электроника
Анархическая электроника
1 510 участник(ов)

[около] электронные темы. без переходов на личности, стен стикеров, политики, непрошенной рекламы и всякого такого Основной чат у нас в @ru_electronics Общий информационный канал @ru_electronics_feed

Про электронику
Про электронику
1 461 участник(ов)

QA чат для решения вопросов, связанных с электроникой. без стикеров, непрошенной рекламы и игр в русский форум оформляйте вопрос в одно сообщение вопросы со словом «кто» игнорируются don't ask for ask Правила http://telegra.ph/ru-electronics-rulz-11-11

Embedded Group
Embedded Group
873 участник(ов)

Все про Embedded и электронику. Осторожно, бывают нотификейшены. #вопросподелу - Для поиска вопросов и ответов #devtools - фотки рабочих железок Работа: @rabotaembedded http://embedded.group http://vk.com/embedded_space

Hardware & Radio
Hardware & Radio
155 участник(ов)

Разговоры об электронике, микроконтроллерах, низкоуровневом программировании, реверс-инжиниринге, FPGA, квадрокоптерах, 3D-печати, Software Defined Radio, любительском радио, и всяком таком.

ARDUINO [RU]
ARDUINO [RU]
60 участник(ов)

Обсуждение Электронного конструктора Arduino. Проблемы и их решения. Ссылки на интересные статьи и проекты. ВК: https://vk.com/arduino_esp Realtek: http://vk.com/rtl8711 Чаты: IOT https://t.me/ProIOT esp8266 https://t.me/Proesp8266