دوشنبه , ۲۸ آبان ۱۳۹۷
خانه » avr » Air Pressure IoT – اندازه گیری فشار هوا – بارومتر IOT
حمایت مالی از یزد کیت

Air Pressure IoT – اندازه گیری فشار هوا – بارومتر IOT

در این پروژه اینترنت اشیاء شما قادر خواهید بود با کمک سنسور BMP183 فشار اتمسفر هوا را اندازه گیری کرده و توسط اپ موبایل آن را مشاهده کنید.این پروژه از سری پروژه های سایت ic2cloud.com  هست که در مطالب قبلی نیز به نحوه راه اندازی پروژه های این سایت پرداختیم.همونطور که میدونید پروژه های سایت ic2cloud  به کمک برد آردوینو و با حداقل امکانات و سخت افزار های لازم قابل اجرا هست و به صورت ازمایشگاهی میتونید از این پروژه ها استفاده کنید و با کمی تغییر نیز میتونید در پروژه های واقعی خود  از اون استفاده کنید . در این پروژه اینترنت اشیاء نیز از سنسور BMP183  و برد های Arduino Uno و Arduino Ethernet Shield  استفاده شده است.

در مورد پایه های ماژول فشار هوا BMP183  طبق جدول زیر میباشد و همانطور که میبینید این سنسور از طریق پروتکل SPI  اطلاعات را رد و بدل میکند.

Pressure Sensor
Pin Description
۱ Vcc
۲ ۳.۳V
۳ GND
۴ SCLK
۵ MISO
۶ MOSI
۷ CS

بر اساس سورس برنامه و پایه های  spi  در برد آردوینو شما میتوانید پایه های سنسور رو به برد arduino  وصل کنید.

Pressure Sensor Pin ArduinoUno
GND GND
Vcc +۵V
SCLK D7
MISO D6
MOSI D5
CS D4

در این مرحله جهت مقدار دهی devId و auth میتوانید طبق آموزش موجود در این پست مقادیر رو تغییر بدین در ضمن برای راه اندازی سنسور فشار هوا BMP183 در آردیونو نیاز به کتابخانه مربوطه دارید که در آخر همین پست جهت دانلود قرار داده شده است و لازمه بعد از دانلود فایل ، فایل Adafruit_BMP183_Library-master.zip  را از حالت فشرده خارج کنید و پوشه Adafruit_BMP183 را در مسیرarduinosketchfolder/libraries/ نرم افزار کپی کنید. برای کسب اطلاعات بیشتر در مورد این کتابخونه میتونید به این لینک مراجعه کنید.

در نهایت با استفاده از سورس اردوینو زیر هر ۲ ثانیه یکبار مقدار فشار اندازه گیری شده را به سرور ارسال کنید و توسط موبایل مشاهده کنید.

#include <SPI.h>
#include <Ethernet.h>
#include <Adafruit_BMP183.h>

byte mac[] = { 0xDE, 0xED, 0xBE, 0xEF, 0xFE, 0xD1 };        // mac address for ethernet board
EthernetClient eth;                                         // the Ethernet client

char server[]  = "www.ic2pro.com";                          // Wiring Cloud host name
int port       = 80;
String devId   = "111-222-333";                             // Device ID. CREATE YOUR OWN GUID; Use this http://www.guidgenerator.com/
String auth    = "dXNlcjpwYXNzd29yZA==";                    // Authentication credentials Create a string from <email_address>:<API_Password> and encode it base64
                                                            // The sample here "dXNlcjpwYXNzd29yZA==" is the encoding for "user:password"


// Use software SPI for pressure sensore because the ethernet shield uses standard SPI 
#define BMP183_CLK  ۷  // CLK
#define BMP183_SDO  ۶  // MISO
#define BMP183_SDI  ۵  // MOSI
#define BMP183_CS   ۴  // CS

Adafruit_BMP183 bmp = Adafruit_BMP183(BMP183_CLK, BMP183_SDO, BMP183_SDI, BMP183_CS);

// Update Pressure signal on the Wiring Cloud
void sendPressure(String pressure)
{
  Serial.println("Pressure = " + pressure);
  if (eth.connect(server, port)) {                                                          // initialize HTTP connection on port 80
    eth.println("GET http://" + String(server) + ":" + String(port) + "/Wire/connector/set?id=" + devId + "&AIRPRESSURE=" + pressure + " HTTP/1.1");   // submit HTTP request
    eth.println("Authorization: Basic " + auth);
    eth.println("Connection: close");
    eth.println();
    Serial.println("Pressure sent to server.");
  }
  else {
    Serial.println("Connection Error");
  }
  eth.stop();
}


void setup() {
  Serial.begin(115200);
  Serial.println("Start...");
  Ethernet.begin(mac);                                           // start the Ethernet connection:
  delay(1000);                                                   // give the Ethernet shield a second to initialize:
  bmp.begin();                                                   // Start sensor
}

void loop() {
    sendPressure(String(bmp.getPressure() / 100));
    delay(2000);                                                  // send pressure only every 2 seconds
}

در پایان فایل های مربوط به سورس آردیونو ، کتابخانه اردوینو سنسور فشار هوا Adafruit BMP183 و سورس اپ موبایل جهت دانلود قرار داده شده است و جهت کسب اطلاعات بیشتر میتونید به مطلب اصلی این سنسور در سایت ic2cloud  مراجعه کنید.

Download “Air-Pressure-IoT.zip” Air-Pressure-IoT.zip – 12 بار دانلود شده است – 76 KB

منبع : فروشگاه آترین الکترونیک

 

حمایت مالی از یزد کیت

همچنین ببینید

ساخت وب سرور در esp8266

ماژول وای فای esp8266  ، یکی از پرکاربردترین ، قوی ترین و در عین حال …

دیدگاهتان را بنویسید