Welcome to بیسیک فور ایکس

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

1 ارسال در این موضوع قرار دارد

ی راه حل عالی استفاده از کتابخانه MQTT


که این کتابخانه در قسمت کتابخانه های برنامه Basic4Arduino موجود است به صورت زیر عمل کنید:



mqtt.Initialize(ethClient.Stream, serverIp, serverPort, "arduino", "Mqtt_MessageArrived", "Mqtt_Disconnected")

Sub Connect(unused As Byte)
If mqtt.Connect = False Then
Log("trying to connect again")
CallSubPlus("Connect", 1000, 0)
Return
End If
Log("Connected to broker")
mqtt.Subscribe("arduino", 0)
End Sub

Sub Mqtt_MessageArrived (Topic As String, Payload() As Byte)
Log("Message arrived. Topic=", Topic, " payload: ", Payload)
End Sub

Sub Mqtt_Disconnected
Log("Disconnected")
mqtt.Close
Connect(0)
End Sub

اینم نمونه کدی که برای آردوینو uno r3 بکار میره و با موفقیت تست شده :



Sub Process_Globals
Public Serial1 As Serial

Private eth As Ethernet
Private ethClient As EthernetSocket
Private btn As Pin
Private serverIp() As Byte = Array As Byte(192, 168, 1, 105 )
Private MacAddress() As Byte = Array As Byte(0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED)
Private const serverPort As UInt = 50000 '51042

Private mqtt As MqttClient
'Private astream As AsyncStreams
End Sub

Private Sub AppStart
Serial1.Initialize(115200)
Log("AppStart")
If eth.InitializeDHCP(MacAddress) = False Then
Log("Error connecting to network.")
Return
Else
Log("Connected to network. My ip address: ", eth.LocalIp)
End If
btn.Initialize(btn.A0, btn.MODE_INPUT_PULLUP)
btn.AddListener("Btn_StateChanged")


mqtt.Initialize(ethClient.Stream, serverIp, serverPort, "arduino", "Mqtt_MessageArrived", "Mqtt_Disconnected")
Connect(0)
End Sub

Sub Btn_StateChanged (State As Boolean)
If ethClient.Connected Then
Dim s As Byte
If State Then s = 1 Else s = 0
'astream.Write(Array As Byte(s))
mqtt.Publish("pc" , Array As Byte(s) )
End If
End Sub



'============mqtt

Sub Connect(unused As Byte)
If mqtt.Connect = False Then
Log("trying to connect again")
CallSubPlus("Connect", 1000, 0)
Return
End If
Log("Connected to broker")
mqtt.Subscribe("arduino", 0)
End Sub

Sub Mqtt_MessageArrived (Topic As String, Payload() As Byte)
Log("Message arrived. Topic=", Topic, " payload: ", Payload)
End Sub

Sub Mqtt_Disconnected
Log("Disconnected")
mqtt.Close
Connect(0)
End Sub

در پناه حق


پسند شده توسط H@mid.RS

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط H@mid.RS
      Basic4Arduino
      مشاهده فایل
      درود


      با برنامه توسعه دهنده برد های آردوینو در خدمت شما هستیم


      این برنامه همانند برنامه های دیگر برنامه نویسی مرجع بیسیک زبان برنامه نویسی بیسیک بوده و به راحتی می توانید با اموزش های که در انجمن ما قرار داده می شود برای برد خود برنامه بنویسید

       
       



       
       

      چگونه نصب کنید :


      اول از همه ما به پیش نیاز برنامه برای اجرا روی برد نیاز داریم


      از لینک زیر برنامه اخرین نسخه برنامه آردینو IDE (1.6.7+) رو در لینک زیر می تونید دانلود و برای ویندوز یا هر سیستم عاملی که دارید دانلود کنید :


      https://www.arduino....n/Main/Software


      ما تنها مدل های Uno, Mega و Due رو تست کردیم و کاملا جواب داده است.

       


      در پناه حق




      ارسال کننده H@mid.RS ارسال ۱۶/۰۸/۰۵ دسته Basic4Arduino