botanicalls.com — цветок напоминает о поливе через Twitter



botanicalls — небольшое устройство в виде листа устанавливается в земле рядом с растением и при помощи ethernet-кабеля подключается к интернету. Теперь, если земля у растения становится недостаточно влажной, устройство тут же пишет об этом в твиттер. Ну а чтобы получать «напоминалки», необходимо подписаться на обновления твиттера своего растения.

подробности


0 комментариев на «“botanicalls.com — цветок напоминает о поливе через Twitter”»

  1. из идей улучшения — полностью беспроводное решение
    например, устройство полностью встроено в горшок, получает энергию от маленьких солнечных батареек и соединялось с интерентом через wi-fi 🙂

  2. А есть какая нибудь информация как они измеряют влажность земли? очень интересно
    Сам могу предположить что меряя сопротивление земли, но мне кажеться есть более умный способ

    • здесь, всё же, замеряется сопротивление
      http://www.botanicalls.com/kits/customize/
      вот функция из проекта:

      
      //function for checking soil moisture against threshold
      void moistureCheck() {
        static int counter = 1;//init static counter
        int moistAverage = 0; // init soil moisture average
        if((millis() - lastMoistTime) / 1000 > (MOIST_SAMPLE_INTERVAL / MOIST_SAMPLES)) {
          for(int i = MOIST_SAMPLES - 1; i > 0; i--) {
            moistValues[i] = moistValues[i-1]; //move the first measurement to be the second one, and so forth until we reach the end of the array.   
          }
          digitalWrite(PROBEPOWER, HIGH);
          moistValues[0] = analogRead(MOISTPIN);//take a measurement and put it in the first place
          digitalWrite(PROBEPOWER, LOW);
          lastMoistTime = millis();
          int moistTotal = 0;//create a little local int for an average of the moistValues array
          for(int i = 0; i < MOIST_SAMPLES; i++) {//average the measurements (but not the 0s)
            moistTotal += moistValues[i];//in order to make the average we need to add them first 
          }
          if(counter<MOIST_SAMPLES) {
            moistAverage = moistTotal/counter;
            counter++; //this will add to the counter each time we've gone through the function
          }
          else {
            moistAverage = moistTotal/MOIST_SAMPLES;//here we are taking the total of the current light readings and finding the average by dividing by the array size
          } 
          //lastMeasure = millis();
          Serial.print("moist: ");
          Serial.println(moistAverage,DEC); 
      
          ///return values
          if ((moistAverage < DRY)  &&  (lastMoistAvg >= DRY)  &&  (millis() > (lastTwitterTime + TWITTER_INTERVAL)) ) {
            uint8_t response = posttweet("URGENT! Water me!");   // announce to Twitter
            notify(response); 
          }
          else if  ((moistAverage < MOIST)  &&  (lastMoistAvg >= MOIST)  &&  (millis() > (lastTwitterTime + TWITTER_INTERVAL)) ) {
            uint8_t response = posttweet("Water me please.");   // announce to Twitter
            notify(response); 
          }
          lastMoistAvg = moistAverage; // record this moisture average for comparision the next time this function is called
          moistLight(moistAverage);
        }
      }
      

Добавить комментарий

Makeblock
  1. ок. Суть программы «один» — обработка статического изображения с применением специального фильтра, на выходе имеем обработанную картинку. Суть программы «два»…

  2. разумеется — реализация другая, но суть та же 🙂 можно реализовать Генератор и для фильма. используем считывание видео (OpenCV шаг…

  3. как это та же??? Тут рассматривается по сути своей просто фильтр для обработки картинок, а там механизм в который загружаешь…

  4. а вот теперь действительно генератор комиксов soft.compulenta.ru/666850/ Странички формируются на основании видеофильмов. программа анализирует видеофрагмент, идентифицирует говорящего героя, формирует панели…

2.0 2в1 3D AR Arduino DIY iPhone Дополненная реальность ИИ автоматизация бизнес будущее велосипед видео вопрос генератор датчик дизайн игра идея интернет интерфейс камера карта книга концепт лампа магазин магнит маркетинг машинное обучение микро-идея музыка поиск проект растение реклама рисунок робот робототехника сайт светодиод сервис сервомашинка стартап стимпанк тренд управление часы электричество