Задать вопрос
YaKotikTvoy
@YaKotikTvoy
Стьюдик

Как связать андроид приложение, написанная в Xamarin формах, и ESP8266?

Опишу как можно кратко.
У нас есть проект, называется WindyBox, обычный мобильный, дымоуловитель на аккумуляторах, нужный для фильтрации вредных веществ, образующихся при пайке.
Это устройство, состоит из кулера и корпуса. Вот этот кулер, будет регулироваться, как я понимаю, транзистором, а вот транзистор будет регулироваться ШИМом, созданным ESP8266.
Есть приложение, вот оно, и мне нужно каким-то образом связать его с ESP8266.
ESP8266 у меня вот такая 625b15311bb30941755244.png
Я вообще не понимаю как согласовать работу ESP8266 и приложужки.
Лично меня интересует как программировать приложение, чтобы оно могло согласовано работать с ESP8266.
Я что-то уже покопал в инете и понял, что всё это, как видимо, должно работать в режиме сервер-клиент.
У меня тут есть код, который вызывает очень много вопросов, он с этого сайта
вот он сам.
using System.Net.Sockets;
using System;
namespace TCPIP
{
    internal class Program
    {
        static void Main(string[] args)
        {
            TcpListener ServerSocket = new TcpListener(8888);
            int requestCount = 0;
            TcpClient clientSocket = default(TcpClient);
            ServerSocket.Start();
            Console.WriteLine(">> Server Started");
            clientSocket = ServerSocket.AcceptTcpClient();
            Console.WriteLine(">> Accept connection from client");
            requestCount = 0;
            while (true)
            {
                try
                {
                    requestCount++;
                    NetworkStream networkStream = clientSocket.GetStream();
                    byte[] bytesFrom = new byte[10025];
                    networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize);
                    string dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom);
                    dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"));
                    Console.WriteLine(">> Data fromClient - " + dataFromClient);
                    string serverResponce = "Last message from client " + dataFromClient;
                    Byte[] sendBytes = System.Text.Encoding.ASCII.GetBytes(serverResponce);
                    networkStream.Write(sendBytes, 0, sendBytes.Length);
                    networkStream.Flush();
                    Console.WriteLine(">> " + serverResponce);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
            }
        }
        clientSocket.Close();//с этого участка кода всё красное.
        ServerSocket.Stop();
        Console.WriteLine(">> exit");
        Console.ReadLine();
    }
}

Там внизу возникает волнисто-красный код, причем среда разработки не говорит, что он не достижимый из-за цикла сверху, пишет, что clientSocket не существует в текущем контексте, токены и т.д.
625b17e6c8eca987000516.png
Как его исправить?
Можете, пожалуйста, посоветовать какие-нибудь нормальные источники по этой теме сетей, связанных с мобильными C# приложениями в связке с ESP8266. Уже не знаю, что делать. Ничего не понимаю.
  • Вопрос задан
  • 134 просмотра
Подписаться 1 Сложный 3 комментария
Решения вопроса 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
перед тем как браться за подвиги убедись что ты в сказке(с)
вначале выучи C#, а потом уже пытайся что-то на нем писать.

документация по железке тут
ESP8266 это микроконтроллер с wifi модулем, на нем можно поднять http "сервер" и обмениваться данными как с любым другим веб сервером. примеры реализации
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@sled
ESP8266 и Android в одной локальной сети?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы