شیلد سیم کارت SIM7000C آردوینو NB-IoT/LTE/GPRS/GPS DFROBOT
شیلد توسعه آردوینو بر پایه تراشه SIM7000C با پشتیانی از NB-IOT است. تکنولوژی NB-IOT مخفف Narrow Band-Internet of Things است که یک تکنولوژی جدید برای برقراری ارتباط سلولار شبکه ی وای فای طراحی شده است.NB-IOT از شبکه 2G, 3G, 4G در موبایل پشتیبانی میکند. مصرف پهنای باند NB-IOT در حدود 180 کیلوهرتز است. تکنولوژی NB-IOT امکان اتصال تعداد زیادی از دستگاه ها برای ارسال دیتا در مکان هایی که شبکه ی موبایل به درستی پوشش داده نمیشود را فراهم میکند. شیلد سیم کارت SIM7000C یک ماژول ارتباطی است که توسط شرکت DFROBOT برای استفاده با بردهای آردوینو طراحی شده است. این ماژول قابلیتهایی نظیر NB-IoT (Narrowband Internet of Things)، LTE (Long-Term Evolution)، GPRS (General Packet Radio Service) و GPS (Global Positioning System) را دارا میباشد. این امکانات به شما این اجازه را میدهند که از شبکههای ارتباطی مختلف برای انتقال دادهها و موقعیت جغرافیایی استفاده کنید.شیلد SIM7000C به طور خاص برای این منظور طراحی شده است که دستگاهها و پروژههای اینترنت اشیاء (IoT) را از طریق اتصال به شبکههای NB-IoT و LTE به اینترنت متصل کند. همچنین، با قابلیت GPS میتوانید موقعیت جغرافیایی دستگاه را نیز تعیین کنید.
ویژگی های SIM7000C
- Single-Band TDD-LTE B39
- Quad-Band FDD-LTE B1/B3/B5/B8 (SIM7000C)
- Quad-Band FDD-LTE B3/B8/B20/B28 (SIM7000E)
- GPRS/EDGE 900/1800 MHz
- توان خروجی- GSM900: 2W- DCS1800: 1W
- کنترل از طریق AT COMMAND
- دمای کاری -40 تا +85 سانتی گراد
- GNSS (GPS, GLONASS, BeiDou, Compass, Galileo, QZSS)
- Firmware update via USB 2.0
- رنج اندازه گیری فشار: 300~1100hPa
- ابعاد : 53.4 در 68.6 میلی متر
بررسی پایه های شیلد سیم کارت SIM7000C آردوینو NB-IoT/LTE/GPRS/GPS DFROBOT
راه اندازی SIM7000C با آردوینو
این کد تنها نمونهای از استفاده از ماژول SIM7000C و تعامل با شبکه NB-IoT و ارسال درخواست HTTP به سرور است.
#include <Wire.h>
#include <DFRobot_SIM7000.h>
#define PIN_TX 7
#define PIN_RX 8
SoftwareSerial mySerial(PIN_RX, PIN_TX); // تعریف پورت سریال برای ارتباط با ماژول SIM7000
DFRobot_SIM7000 sim7000(&mySerial); // ایجاد شیء از کلاس DFRobot_SIM7000
static char buff[350]; // تعریف یک بافر برای ذخیره دادههای دریافتی
void setup() {
int signalStrength, dataNum;
Serial.begin(115200); // شروع ارتباط با سریال کامپیوتر
mySerial.begin(19200); // شروع ارتباط با ماژول SIM7000
Serial.println("در حال روشن کردن ماژول SIM7000...");
if (sim7000.turnON()) { // روشن کردن ماژول SIM7000
Serial.println("ماژول روشن شد!");
}
Serial.println("تنظیم نرخ بودری (Baud Rate)...");
if (sim7000.setBaudRate(19200)) { // تنظیم نرخ بودری بر روی 19200
Serial.println("نرخ بودری تنظیم شد: 19200");
} else {
Serial.println("تنظیم نرخ بودری با شکست مواجه شد");
while (1);
}
Serial.println("بررسی کارت SIM...");
if (sim7000.checkSIMStatus()) { // بررسی وضعیت کارت SIM
Serial.println("کارت SIM آماده است");
} else {
Serial.println("خطا در کارت SIM");
while (1);
}
delay(500);
Serial.println("تنظیم حالت شبکه...");
if (sim7000.setNetMode(sim7000.eNB)) { // تنظیم حالت شبکه به حالت NB-IoT
Serial.println("حالت NB تنظیم شد");
} else {
Serial.println("تنظیم حالت شکست خورد");
}
Serial.println("دریافت کیفیت سیگنال...");
delay(500);
signalStrength = sim7000.checkSignalQuality(); // بررسی کیفیت سیگنال (0 تا 30)
Serial.print("کیفیت سیگنال = ");
Serial.println(signalStrength);
delay(500);
Serial.println("در حال اتصال به سرویس...");
if (sim7000.attachService()) { // باز کردن اتصال
Serial.println("اتصال برقرار شد");
} else {
Serial.println("عدم موفقیت در برقراری اتصال");
while (1);
}
delay(200);
Serial.println("در حال اتصال به شبکه...");
if (sim7000.openNetwork(sim7000.eTCP, "www.taobao.com", 80)) { // شروع اتصال TCP به سرور "www.taobao.com" در پورت 80
Serial.println("اتصال موفقیتآمیز بود");
} else {
Serial.println("عدم موفقیت در اتصال");
while (1);
}
sim7000.send("HEAD / HTTP/1.1\r\nHost: www.taobao.com\r\nConnection: keep-alive\r\n\r\n"); // ارسال درخواست HTTP
dataNum = sim7000.recv(buff, 350); // دریافت دادهها
Serial.print("تعداد دادهها = ");
Serial.println(dataNum);
Serial.println(buff); // نمایش دادههای دریافتی
delay(500);
if (sim7000.closeNetwork()) { // بستن اتصال
Serial.println("اتصال بسته شد");
} else {
Serial.println("عدم موفقیت در بستن اتصال");
}
delay(2000);
sim7000.turnOFF(); // خاموش کردن ماژول SIM7000
}
void loop() {
delay(1000);
}
مشخصات
- کاربری
- مناسب برای استفاده صنعتی
- نوع ماژول
- آردوینو - Arduino
- نوع شیلد
- شیلد آردوینو - Arduino Shield
- سطح تجربه مورد نیاز
- نیمه حرفه ای
- ولتاژ مورد نياز
- 5 ولت DC
- ولتاژ ورودی
- 7 تا 12 ولت DC
- دمای کاری
- - 40 تا + 85 درجه سانتی گراد
- فرکانس
- GPRS/EDGE 900/1800 MHz
- پردازنده
- SIM7000C
- سایر توضیحات
- Single-Band TDD-LTE B39,Quad-Band FDD-LTE B1/B3/B5/B8 (SIM7000C),Quad-Band FDD-LTE B3/B8/B20/B28 (SIM7000E),
- نسخه آردوینو
- آردوینو Uno
- پهنای باند اینترنت سیم کارت
- 4g
- ماژول sim800l
- سیم کارت
- منبع تغذیه
- آنتن GSM
- کابل USB به سریال
- خازن 1000 میکروفاراد
- ماژول کاهنده LM2596
با سلام
ماژولهای سیم کارتی در طرح رجیستری نیستند. ولی بسیاری از کاربران در راه اندازی به مشکل میخورند و بسیاری از این مشکلات ارتباطی با طرح رجیستری ندارند.
با توجه به اینکه ماژول سیم کارت برای اتصال به شبکه و تبادل اطلاعاتی در بستر مخابراتی، به جریان وابسته است. امکان تامین تغذیه آن مستقیما از پایههای میکروکنترلر امکان پذیر نیست. بایستی حتما از منبعی مجزا با قابلیت جریان دهی کافی تامین شود. در غیر این صورت مشکلات مختلفی را شاهد خواهید بود. البته در هر مدل ماژول مقدار جریان کشی و ولتاژ کاری ممکن است متفاوت باشد که بایستی براساس نوع ماژول اقدام کنید.
ماژولهای سیم کارتی قابلیت اتصال به شبکه مخابراتی را دارند. از اینرو امکان بهره برداری از کلیه قابلیتهای یک سیم کارت را هم دارند. استفاده از اینترنت سیم کارت هم یکی از این موارد است. در بسیاری از پروژههای مختلف نیاز به کارگیری اینترنت برای تبادل اطلاعات وجود دارد. پهنای باند اینترنت ماژول سیم کارت براساس کاربری که مد نظر دارید، بایستی انتخاب شود. ماژول سیم کارت Sim800L دارای پهنای باند 2g است. بنابراین اگر در پروژهای به ماژول اینترنت سیم کارت نیاز باشد، میتوان از آن برای ارسال اطلاعات سبک مانند Text استفاده کرد. در کل براساس پهنای باند مورد نیاز پروژه بایستی ماژول سیم کارتی را انتخاب کرد.
اما برای استفاده از اینترنت سیم کارت به صورت مودم همراه برای سیستمهای کامپیوتری شخصی، توصیه نمیشود. با توجه به اینکه ماژول سیم کارت نیازمند بردهای میکروکنترلر جهت راه اندازی هستند و پهنای باند محدودی دارند، برای استفاده از اینترنت سیم کارت به عنوان مودم، توصیه نمیشود.
ولقطعات مورد نیاز برای راه اندازی ماژول sim800l عبارتند از:
// تعریف تابع
void myFunction() {
// بدنه تابع (کد اجرایی)
}
void setup() {
// کد تنظیمات...
}
void loop() {
// کد اجرایی...
myFunction(); // فراخوانی تابع
}
برای یادگیری آردوینو، نیازی به دانش قبلی در زمینه الکترونیک یا برنامهنویسی ندارید. با این حال، داشتن دانش پایه در این زمینهها میتواند به شما کمک کند تا یادگیری آردوینو را سریعتر و آسانتر انجام دهید. اگر دانش پایهای در زمینه الکترونیک ندارید، میتوانید با مطالعه دیجی اسپارک، مقالات و دورههای آموزشی آنلاین و متنی، این دانش را به دست آورید. اگر دانش پایهای در زمینه برنامهنویسی ندارید، میتوانید با یادگیری زبان برنامهنویسی C/C++، شروع به یادگیری آردوینو کنید.
برای کدنویسی در آردوینو، باید از زبان برنامهنویسی C/C++ استفاده کنید. کدهای آردوینو در فایلهای متنی با پسوند .ino ذخیره میشوند. برای نوشتن کدهای آردوینو، میتوانید از نرمافزار Arduino IDE استفاده کنید. در نرم افزار نمونه کد ساده برای شروع قرار گرفته شده است اما میتوانید با مراجعه به سایت دیجی اسپارک از سری آموزشهای مقدماتی و رایگان بهره ببرید.
برای شروع کار با آردوینو، به یک برد آردوینو ترجیحا مدل UNO R3 و یا R4، کابل Type Bو یک سیستم نیاز دارید. از نرمافزار Arduino IDE برای نوشتن و کامپایل کردن کدهای آردوینو و برنامهنویسی استفاده کنید. برای خرید قطعات کیت سنسور انتخاب خوبی برای شروع برنامه نویسی میکروکنترلرهاست و به مجموعهای از سنسورهای کاربردی دسترسی خواهید داشت.
کیتهای آردوینو نوعی از کیت الکترونیکی پیشرفته هستند. کیت الکترونیکی پرورش دهندهی خلاقیت و سرگرمی فوق العادهای است. کیت های آردوینو عموما دارای آموزش راه اندازی و سورس برنامه نویسی هستند. در دانشجو کیت انواع کیت آردوینو را میتوانید بررسی و خرید کنید. کلیه این کیتها توسط دانشجو کیت طراحی و تولید میشوند. جهت خرید و بررسی کیت آردوینو از شاخههای اصلی در نوار آبی رنگ بالای سایت قسمت بردهای توسعه را انتخاب کنید. (کافیست نشانگر موس را بر روی برد های توسعه قرار دهید.) سپس گزینه کیت آردوینو را انتخاب نمایید.
جهت سهولت در انتخاب کیت و کابرد مورد نظر در نوار سمت راست سایت امکان جستجو و فیلتر در دسترس کاربران قرار گرفته است. اولین گزینه انتخاب نوع کیت است، که کیت ها بر اساس بردهای مصرفی و همچنین مونتاژ دسته بندی شده اند. به تصویر زیر دقت کنید.
فیلتر بعدی رنج سنی است که با این فیلتر میتوان کیت آردوینو متناسب با رنج سنی کاربر تهیه کرد. رنج سنی یک شاخص کلی برای محدود کردن انتخابها برای خرید کیت آردوینو است.
فیلتر بعدی خرید بر اساس نوع نمایشگر مورد استفاده است. نمایشگر در کیت آردوینو کمک میکند تا اطلاعات مورد نظر را روی آن نمایش دهید. از اینجا میتوانید کیت های آردوینو براساس نوع نمایشگر را فیلتر کنید.
فیلتر بعدی خرید کیت آردوینو بر اساس برد آردوینو مورد استفاده است. بردهای آردوینو انواع مختلفی دارند، میتوانید از این بخش گزینه مورد نظر را فیلتر کنید.
فیلتر آموزش راه اندازی در جهت سهولت دسترسی کاربر به کیت های همراه یا فاقد آموزش(خود آموز) قرار گرفته است. دارا بودن آموزش برای یک کیت آردوینو گزینهی مهمی است. بنابراین اگر تمایل به خرید کیت آردوینو دارای آموزش را دارید، از این بخش استفاده کنید. به تصویر زیر دقت کنید.
با استفاده از فرمت آموزش میتوان نوع آموزش مورد نظر خود را به راحتی انتخاب کرد که به دو صورت تصویری و کتبی در دسترس قرار میگیرد.
فیلتر بعدی بر اساس میزان فرکانس RFID است. اگر کیت مورد نظر براساس نوع RFID باشد میتوانید فرکانس آنرا از این بخش انتخاب کنید.
با استفاده از فیلتر سنسور میتوان کیت آردوینو مورد نظر خود را بر اساس نوع سنسور به کار رفته انتخاب کرد.
فیلتر بعدی معماری پردازنده است که با استفاده از این فیلتر میتوان نوع پردازنده کیت را انتخاب کرد. شاید بخواهید کیت مورد نظرتان براساس تراشهای خاص باشد که از اینجا میتوانید انتخاب کنید.
با استفاده از این فیلتر میتوان پهنای باند اینترنت را انتخاب کرد. اگر کیت آردوینو مورد نظر دارای ماژول سیم کارتی باشد، میتوانید پهنای باند آنرا مشخص کنید. کیتهای ارزان قیمت معمولا دارای پهنای باند 2g هستند.
با استفاده از این فیلتر میتوان کیت های آردوینو را بر اساس نوع باتری مورد استفاده انتخاب کرد.
با این گزینه میتوان کیت مورد نظر و مصرفی خود را بر اساس برند مورد استفاده انتخاب کرد. ما در فروشگاه دانشجو کیت علاوه براینکه کالاهای تولیدی خودمان را به فروش میرسانیم کالاهای دیگر تولید کنندگان ایرانی را هم به فروش میرسانیم. بنابراین از این بخش میتوانید از برندهای معتبر تولید داخل استفاده کنید.
گزینه بعدی محدوده قیمتی است که با این گزینه میتوان به راحتی کیت آردوینو با بودجه مورد نظر را تهیه کرد.
روند ثبت سفارش کیت آردوینو از فروشگاه دانشجو کیت با موبایل
برای ثبت سفارش از طریق تلفن همراه برای دسترسی به شاخه محصولات باید در صفحه اصلی در قسمت بالا صفحه از سه خط افقی استفاده کرد. در ادامه کلیه روند خرید کیت آردوینو با موبایل را شرح دادهایم.
در فهرست شاخههای اصلی اولین گزینه بردهای توسعه است که برای باز کردن آن روی قسمت پلاس میزنیم.
در زیر مجموعه بردهای توسعه اولین گزینه آردوینو است که دوباره برای دیدن زیر مجموعه آن باید روی گزینه پلاس کلیک کرد.
سپس اولین گزینه کیت آردوینو را انتخاب کنید.
در تلفن همراه برای فیلتر محصولات ابتدا باید روی گزینه خرید سریع رفته تا فیلتر محصولات نمایش داده شود.
جهت سهولت در انتخاب کیت و کابرد مورد نظر در نوار سمت راست سایت امکان جستجو و فیلتر در دسترس کاربران قرار گرفته است. اولین گزینه انتخاب نوع کیت است، که کیت ها بر اساس بردهای مصرفی و همچنین مونتاژ دسته بندی شده اند.
فیلتر بعدی رنج سنی است که با این فیلتر میتوان کیت آردوینو متناسب با رنج سنی کاربر تهیه کرد.
گزینه بعدی نسخه رزبری پای و خرید کیت بر اساس برد رزبری پای است. اگر کیت مورد نظر براساس بردهای میکروکنترلر رزبری پای باشد، میتوانید از اینجا نوع برد را انتخاب کنید.
فیلتر بعدی خرید بر اساس نوع نمایشگر مورد استفاده است.
فیلتر بعدی خرید کیت آردوینو بر اساس برد آردوینو مورد استفاده است.
فیلتر آموزش راه اندازی در جهت سهولت دسترسی کاربر به کیت های همراه یا فاقد آموزش(خود آموز) قرار گرفته است.
با استفاده از فرمت آموزش میتوان نوع آموزش مورد نظر خود را به راحتی انتخاب کرد که به دو صورت تصویری و کتبی در دسترس قرار میگیرد.
فیلتر بعدی بر اساس میزان فرکانس RFID است.
با استفاده از فیلتر سنسور میتوان کیت آردوینو مورد نظر خود را بر اساس نوع سنسور به کار رفته انتخاب کرد.
فیلتر بعدی معماری پردازنده است که با استفاده از این فیلتر میتوان نوع پردازنده کیت را انتخاب کرد.
با استفاده از این فیلتر میتوان کیت های آردوینو را بر اساس نوع باتری مورد استفاده انتخاب کرد.
نوع فرکانس مصرفی در کیت را میتوان با این فیلتر تعیین کرد.
با این گزینه میتوان کیت مورد نظر و مصرفی خود را بر اساس برند مورد استفاده انتخاب کرد.
گزینه بعدی محدوده قیمتی است که با این گزینه میتوان به راحتی کیت آردوینو با بودجه مورد نظر را تهیه کرد.
گزینه آخر نوع کانکتور و جامپر و پین هر مصرفی است.
با سلام
برای این منظور بایستی تقسیم ولتاژی انجام دهید. برای این منظور دو منبع تغذیه لازم است. یکی باتری و دیگری آداپتور، آداپتور اقدام به شارژ باتریها و باتریها هم به صورت مجزا اقدام به تامین تغذیه برد میکنند. در این وضعیت دو حالت وجود دارد. یکی اینکه باتری و آداپتور به صورت همزمان در مدار باشند که در اثر قطع شدن برق شهری، مدار از طریق باتری لیتیومی تامین شود. حالت دوم به این صورت خواهد بود که آداپتور صرفا به عنوان شارژر باتری ها در مدار قرار بگیرد.
لینک کالاهای مورد نیاز
ماژول شارژر باتری لیتیومی 18650 سه چیپ TP4056
باتری لیتیوم یون LI-IO 2200 میلی آمپر 18650
جاباتری تکی باتری لیتیوم یون 18650
شرح اتصالات
باتری را در جاباتری قرار داده و سپس به پایههای B+ و B- روی ماژول شارژر سه چیپ TP4056 متصل کنید. خروجی ماژول شارژر را به ماژول سیم کارتی متصل کنید. برای شارژ کردن باتری هم از بخش + - یا درگاه USB ولتاژ 5 ولت را تامین کنید. به این روش حالت دوم تقسیم ولتاژی که در ابتدای متن اعلام شد را پیاده سازی میکنید.
برای اتصال به شبکه وای فای دستورات زیر را وارد کنید.
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("نام_شبکه_Wi-Fi", "رمز_عبور")
while not wlan.isconnected():
pass
MicroPython برای اجرا بر روی میکروکنترلرهای مختلف از جمله ESP8266، ESP32، STM32 و غیره طراحی شده است. وبسایت رسمی MicroPython یک لیست از پلتفرمهای پشتیبانیشده را ارائه میدهد.
برای تعریف یک تابع در MicroPython، از کلیدواژه def استفاده کنید. به عنوان مثال:
def greet(name):
print("Hello, " + name + "!")
بله، MicroPython از توابع با تعداد متغیرهای از آرگومانها پشتیبانی میکند. شما میتوانید تعداد دلخواهی از آرگومانها به یک تابع ارسال کنید
بله، MicroPython از توابع داخلی معمول Python مانند print(), len(), و range() پشتیبانی میکند. این توابع به صورت پیشفرض در MicroPython فراهم شدهاند.
میتوانید یک فایل متنی جدید ایجاد کرده و توابع را در آنجا تعریف کنید. سپس با استفاده از دستور import، آن فایل را به کد اصلیتان وارد کنید.
برای صدا زدن یک تابع از یک ماژول دیگر در MicroPython، ابتدا ماژول را با استفاده از دستور import وارد کنید، سپس نام تابع را با نام ماژول مرتبط فراخوانی کنید.
# در فایل ماژول مثلاً به نام mymodule.py
def my_function():
print("Hello from my_module!")
# در فایل اصلی
import mymodule
mymodule.my_function()
برای فراخوانی یک تابع یک تابع از یک کلاس در MicroPython، ابتدا یک نمونه از کلاس بسازید و سپس تابع را از طریق آن نمونه فراخوانی کنید.
class MyClass:
def my_method(self):
print("Hello from my method!")
my_instance = MyClass()
my_instance.my_method()
برای اتصال به اینترنت با برد میکروکنترلر ESP32، میتوانید از کتابخانه WiFi.h استفاده کنید. این کتابخانه شامل توابعی برای اتصال به شبکههای Wi-Fi و ارسال و دریافت دادهها از طریق Wi-Fi است.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.
دوربین IMX219 یک دوربین با رابط MIPI CSI-2 است که اکثرا با بردهای توسعهی مبتنی بر پردازندههای ARM که دارای رابط CSI-2 هستند، سازگاری دارد. برخی از این بردها شامل Raspberry Pi، Jetson Nano، Odroid و Orange Pi is هستند. با این حال، برای استفاده از دوربین IMX219 با هر برد دیگری، باید بررسی کنید که آیا برد شما دارای رابط MIPI CSI-2 است یا خیر. CSI2 یک رابط سریال پایدار برای انتقال داده های تصویری از سنسورهای تصویری به پردازنده ها است. برخی از بردهایی که دارای CSI2 هستند عبارتند از:
1- Raspberry Pi CM4
2- Nvidia Jetson Nano
3- Orange Pi
4- BeagleBone Black
5- Coral Dev Board
6- Qualcomm DragonBoard
7- HiKey 960
و بسیاری بردهای دیگر با پردازنده های مختلف از جمله ARM و x86.
لازم به ذکر است که برخی از این بردها ممکن است نیاز به ماژول تبدیل CSI2 به HDMI یا USB داشته باشند تا بتوانند با دوربین های دیگری که از رابط های HDMI یا USB استفاده می کنند سازگاری پیدا کنند.