مشاهده همه محصولات
محصولی پیدا نشد

به کمک نیاز دارید؟

اینترنت اشیا

پلتفرم واسه iot روی گوشی همراه چی پیشنهاد میدید؟

 برای توسعه برنامه‌های اینترنت اشیاء (IoT) بر روی گوشی همراه، برخی از پلتفرم‌های IoT معروف و مناسب برای توسعه برنامه‌های IoT بر روی گوشی همراه عبارتند از:

Arduino IoT Cloud:

این پلتفرم از Arduino برای توسعه پروژه‌های IoT استفاده می‌کند و به شما امکان مدیریت دستگاه‌های IoT و داده‌های آنها را از راه دور از طریق گوشی همراه می‌دهد.

PlatformIO:

PlatformIO یک محیط توسعه اوپن سورس برای IoT است که از میکروکنترلرهای مختلفی از جمله ESP8266 و ESP32 پشتیبانی می‌کند. شما می‌توانید از PlatformIO برای توسعه و مدیریت پروژه‌های IoT بر روی گوشی همراه استفاده کنید.

Blynk:

Blynk یک پلتفرم IoT برای ایجاد برنامه‌های کنترل و نظارت بر دستگاه‌های IoT است. شما می‌توانید از اپلیکیشن Blynk بر روی گوشی همراه خود برای کنترل دستگاه‌های IoT استفاده کنید.

ThingSpeak:

ThingSpeak از متن‌باز برای ثبت و نمایش داده‌های IoT استفاده می‌کند. شما می‌توانید از اپلیکیشن ThingSpeak بر روی گوشی همراه خود برای نظارت بر داده‌های IoT استفاده کنید.

Adafruit IO:

Adafruit IO یک سرویس ابری برای اتصال و کنترل دستگاه‌های IoT است. شما می‌توانید از اپلیکیشن Adafruit IO بر روی گوشی همراه برای کنترل دستگاه‌های IoT استفاده کنید.

همه این پلتفرم‌ها امکان اتصال و کنترل دستگاه‌های IoT از راه دور را از طریق گوشی همراه شما فراهم می‌کنند. انتخاب پلتفرم مناسب به ویژگی‌ها و نیازهای پروژه شما بستگی دارد.


پلتفرم ubeac با آردوینو و میکروپایتون قابل اجرا هست؟

بله بایستی برای ارسال دیتای دریافتی از برد ESP و یا سایر بردهایی که از این دو پشتیبانی می‎کند، استفاده کنید. بله با هر دو زبان برنامه نویسی با متدهای ارسال دیتا مانند http , mqtt قابل اجرا است.


پلتفرم Arduino IoT Cloud چیست؟

Arduino IoT Cloud یک پلتفرم ابری است که توسط Arduino برای مدیریت و کنترل میکروکنترلرها و سنسورها با ترکیب IOT ارائه شده است.


چه نوع میکروهایی می‌توانند با Arduino IoT Cloud ترکیب شوند؟

Arduino IoT Cloud از میکروهای مبتنی بر میکروکنترلرهای Arduino و دیگر میکروها مانند Raspberry pi , ESP8266, ESP32 پشتیبانی می‌کند.


آیا Arduino IoT Cloud امکان برنامه‌نویسی و کنترل سنسورها از راه دور را فراهم می‌کند؟

بله، Arduino IoT Cloud به شما امکان کنترل سنسورهای IoT از راه دور و برنامه‌نویسی آنها از راه دور را فراهم می‌کند. شما می‌توانید داده‌ها را به میکروها ارسال کرده و آنها را کنترل کنید.


چجوری می‌توانم داده‌های سنسورها را در Arduino IoT Cloud نمایش دهم؟

شما می‌توانید از کتابخانه‌های آردوینو برای اتصال و ارسال داده‌های سنسورهای دستگاه‌تان به Arduino IoT Cloud استفاده کنید. سپس می‌توانید این داده‌ها را در دشبورد آنلاین نمایش دهید.


آیا میکروپایتون می‌تواند در NodeMCU استفاده شود؟

بله، میکروپایتون یک زبان برنامه‌نویسی محبوب برای NodeMCU است و می‌توانید از آن برای توسعه برنامه‌های NodeMCU استفاده کنید.


چگونه می‌توان داده‌ها را به یک سرور اینترنتی ارسال کرد؟

برای ارسال داده‌ها به یک سرور اینترنتی، شما می‌توانید از پروتکل‌های HTTP یا MQTT استفاده کنید. باید کتابخانه‌های مربوطه را در میکروپایتون نصب کرده و سپس داده‌ها را ارسال کنید.


چگونه می‌توان یک وب‌سرور ساده را با میکروپایتون بر روی NodeMCU ایجاد کرد؟

برای ایجاد یک وب‌سرور با میکروپایتون بر روی NodeMCU، شما می‌توانید از میکرووب (MicroWebSrv) استفاده کنید. مثال:

import MicroWebSrv

def my_web_page(request, response):
    response.WriteResponseHTML("<html><body><h1>Hello, World!</h1></body></html>")

routeHandlers = [("/mywebpage", "GET", my_web_page)]

srv = MicroWebSrv.WebRoute(routeHandlers)
srv.Start(threaded=True)

چگونه می‌توان از NodeMCU به یک شبکه Wi-Fi متصل شد و IP آن را به دست آورد؟

برای اتصال به شبکه Wi-Fi و به دست آوردن آدرس IP در میکروپایتون، می‌توانید از کتابخانه network استفاده کنید. مثال:

import network
import time

ssid = "نام_شبکه"
password = "کلمه_عبور"

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)

while not wlan.isconnected():
    time.sleep(1)

print("متصل به شبکه Wi-Fi")
print("آدرس IP:", wlan.ifconfig()[0])

من نتونستم درایور OLED SSD1306 را برای میکروپایتون نصب کنم راهنمایی کنید.

برای نصب درایور SSD1306 فایل زیر را در thonny ide با نام SSD1306.py ذخیره کنید. 

from time import sleep_ms
from machine import Pin, I2C

# Constants
DISPLAYOFF          = 0xAE
SETCONTRAST         = 0x81
DISPLAYALLON_RESUME = 0xA4
DISPLAYALLON        = 0xA5
NORMALDISPLAY       = 0xA6
INVERTDISPLAY       = 0xA7
DISPLAYON           = 0xAF
SETDISPLAYOFFSET    = 0xD3
SETCOMPINS          = 0xDA
SETVCOMDETECT       = 0xDB
SETDISPLAYCLOCKDIV  = 0xD5
SETPRECHARGE        = 0xD9
SETMULTIPLEX        = 0xA8
SETLOWCOLUMN        = 0x00
SETHIGHCOLUMN       = 0x10
SETSTARTLINE        = 0x40
MEMORYMODE          = 0x20
COLUMNADDR          = 0x21
PAGEADDR            = 0x22
COMSCANINC          = 0xC0
COMSCANDEC          = 0xC8
SEGREMAP            = 0xA0
CHARGEPUMP          = 0x8D
EXTERNALVCC         = 0x10	#0x1
SWITCHCAPVCC        = 0x20	#0x2
SETPAGEADDR         = 0xB0
SETCOLADDR_LOW      = 0x00
SETCOLADDR_HIGH     = 0x10
ACTIVATE_SCROLL                      = 0x2F
DEACTIVATE_SCROLL                    = 0x2E
SET_VERTICAL_SCROLL_AREA             = 0xA3
RIGHT_HORIZONTAL_SCROLL              = 0x26
LEFT_HORIZONTAL_SCROLL               = 0x27
VERTICAL_AND_RIGHT_HORIZONTAL_SCROLL = 0x29
VERTICAL_AND_LEFT_HORIZONTAL_SCROLL  = 0x2A

# I2C devices are accessed through a Device ID. This is a 7-bit
# value but is sometimes expressed left-shifted by 1 as an 8-bit value.
# A pin on SSD1306 allows it to respond to ID 0x3C or 0x3D. The board
# I bought from ebay used a 0-ohm resistor to select between "0x78"
# (0x3c << 1) or "0x7a" (0x3d << 1). The default was set to "0x78"
DEVID = 0x3c

# I2C communication here is either <DEVID> <CTL_CMD> <command byte>
# or <DEVID> <CTL_DAT> <display buffer bytes> <> <> <> <>...
# These two values encode the Co (Continuation) bit as b7 and the
# D/C# (Data/Command Selection) bit as b6.
CTL_CMD = 0x80
CTL_DAT = 0x40

class SSD1306(object):

	def __init__(self, height=64, external_vcc=True, i2c_devid=DEVID):
		self.external_vcc = external_vcc
		self.height       = 32 if height == 32 else 64
		self.pages        = int(self.height / 8)
		self.columns      = 128
		self._row = 0
		self._col = 0
		self._x = 0
		self._y = 0

		self.devid = i2c_devid
		self.offset = 1
		self.cbuffer = bytearray(2)
		self.cbuffer[0] = CTL_CMD

		self.i2c = I2C(scl=Pin(2), sda=Pin(16), freq=400000) 
		self.buffer = bytearray(self.offset + self.pages * self.columns)
		
	def clear(self):
		self.buffer = bytearray(self.offset + self.pages * self.columns)
		if self.offset == 1:
			self.buffer[0] = CTL_DAT

	def write_command(self, command_byte):
		self.cbuffer[1] = command_byte
		self.i2c.writeto(self.devid, self.cbuffer)

	def invert_display(self, invert):
		self.write_command(INVERTDISPLAY if invert else NORMALDISPLAY)

	def display(self):
		self.write_command(COLUMNADDR)
		self.write_command(0)
		self.write_command(self.columns - 1)
		self.write_command(PAGEADDR)
		self.write_command(0)
		self.write_command(self.pages - 1)
		self.i2c.writeto(self.devid, self.buffer)

	def set_pixel(self, x, y, state):
		index = x + (int(y / 8) * self.columns)
		if state:
			self.buffer[self.offset + index] |= (1 << (y & 7))
		else:
			self.buffer[self.offset + index] &= ~(1 << (y & 7))

	def init_display(self):
		chargepump = 0x10 if self.external_vcc else 0x14
		precharge  = 0x22 if self.external_vcc else 0xf1
		multiplex  = 0x1f if self.height == 32 else 0x3f
		compins    = 0x02 if self.height == 32 else 0x12
		contrast   = 0x9f # 0x8f if self.height == 32 else (0x9f if self.external_vcc else 0x9f)
		data = [DISPLAYOFF,
				SETDISPLAYCLOCKDIV, 0xF0,
				SETMULTIPLEX, 0x3f,
				SETDISPLAYOFFSET, 0x00,
				SETSTARTLINE | 0x00,
				CHARGEPUMP, 0x14,
				MEMORYMODE, 0x00,
				SEGREMAP | 0x00,
				COMSCANINC,
				SETCOMPINS, 0x12,
				SETCONTRAST, 0xCF,
				SETPRECHARGE, 0xF1,
				DISPLAYALLON_RESUME,
				NORMALDISPLAY,
				0x2e,		# stop scroll
				DISPLAYON]
		for item in data:
			self.write_command(item)
		# self.clear()
		self.display()

	def poweron(self):
		if self.offset == 1:
			sleep_ms(10)
		else:
			self.res.high()
			sleep_ms(1)
			self.res.low()
			sleep_ms(10)
			self.res.high()
			sleep_ms(10)

	def poweroff(self):
		self.write_command(DISPLAYOFF)

	def contrast(self, contrast):
		self.write_command(SETCONTRAST)
		self.write_command(contrast)
		
	def set_start_end_cols(self, start_col=0, end_col=None):
		if end_col is None:
			end_col = self.columns - 1
		if start_col < 0 or start_col > self.columns - 1:
			raise ValueError('Start column must be between 0 and %d.' % (self.columns - 1,))
		if end_col < start_col or end_col > self.columns -1:
			raise ValueError('End column must be between the start column (%d) and %d.' % (start_col, self.columns - 1))
		self.write_command(COLUMNADDR)
		self.write_command(start_col)  # Start column
		self.write_command(end_col)  # End column

	def set_start_end_pages(self, start_page=0, end_page=None):
		if end_page is None:
			end_page = self.pages - 1
		if start_page < 0 or start_page > self.pages - 1:
			raise ValueError('Start page must be between 0 and %d.' % (self.pages - 1,))
		if end_page < start_page or end_page > self.pages - 1:
			raise ValueError('End page must be between the start page (%d) and %d.' % (start_page, self.pages - 1))
		self.write_command(PAGEADDR)
		self.write_command(start_page)  # Page start address. (0 = reset)
		self.write_command(end_page) # Page end address.
			
	def p_char(self, ch):
		fp = (ord(ch)-0x20) * 5
		char_buf = bytearray([0,0,0,0,0])
		f = open('font5x7.fnt','rb')
		f.seek(fp)
		char_buf = f.read(5)
		bp = self.columns*self._row + 6*self._col + 1
		for x in range (0,5):
			self.buffer[bp+x] = char_buf[x]
			self.buffer[bp+5] = 0 # put in inter char space
		self._col += 1
		if (self._col>int(self.columns/6 - 1)):
			self._col = 0
			self._row += 1
			if (self._row>int(self.height/8 - 1)):
				self._row = 0	

	def p_string(self, str):
		for ch in (str):
			self.p_char(ch)

	def pixel(self,x,y,fill):
		r = int(y/8)
		i = r * self.columns + x + self.offset
		b = y % 8
		self.buffer[i] = self.buffer[i] | ( 1 << b )
		




برای نصب Node-RED در ویندوز باید چیکار کنیم؟

در ابتدا بایستی Nodejs آخرین ورژن را نصب کنید.

https://nodejs.org/en

سپس کامند زیر را در CMD ویندوز وارد کنید تا مراحل نصب شود.

برای اجرا در نهایت کامند زیر را وارد کنید تا آی پی برای ورود به Node-RED اعلام شود. 

Node-red


از کدام پلتفرم های IOT برای پروژه هامون استفاده کنیم؟

تراشه K210 در MAIXDUINO چه کاربردی داره؟

برای استفاده از MAIXDUINO از چه نرم افزاری باید استفاده کنیم؟

چه پروژه هایی با MAIXDUINO  قابل اجرا است؟

مایکسیدوینو از چه زبان های برنامه نویسی پشتیبانی میکنه؟

فهرست

تماس با دانشجو کیت

ساعت تماس همه روزه از 9 صبح تا 5 عصر (بجز روزهای تعطیل) البته فروشگاه ما به صورت آنلاین است و می‌توانید خریدتان را انجام دهید. اما اگر سوالی داشتید که به تماس تلفنی نیاز داشت، فقط در ساعت‌های اعلام شده در خدمتیم.

021-88857245

021-88856524

031-32211313

 

شماره روبیکا و ایتا، فقط پیام، پاسخ به سوالات قبل از خرید و دریافت تصاویر کالاها

09375076606

 

ارسال سریع تهران (تحویل همان روز)

تمامی شهرهای ایران با پست

بخش قوانین ارسال و قوانین خرید را مطالعه کنید.

جستجو

مشاهده همه محصولات
محصولی پیدا نشد

یک حساب کاربری رایگان برای ذخیره آیتم‌های محبوب ایجاد کنید.

ورود به سیستم