<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[RemoteXY community — Два проекта в одном скетче]]></title>
		<link>https://forum.remotexy.com/viewtopic.php?id=1303</link>
		<atom:link href="https://forum.remotexy.com/extern.php?action=feed&amp;tid=1303&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Два проекта в одном скетче.]]></description>
		<lastBuildDate>Fri, 23 Apr 2021 14:47:10 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Два проекта в одном скетче]]></title>
			<link>https://forum.remotexy.com/viewtopic.php?pid=3873#p3873</link>
			<description><![CDATA[<p>ОК! Буду пробовать.</p>]]></description>
			<author><![CDATA[null@example.com (bukinay1)]]></author>
			<pubDate>Fri, 23 Apr 2021 14:47:10 +0000</pubDate>
			<guid>https://forum.remotexy.com/viewtopic.php?pid=3873#p3873</guid>
		</item>
		<item>
			<title><![CDATA[Re: Два проекта в одном скетче]]></title>
			<link>https://forum.remotexy.com/viewtopic.php?pid=3872#p3872</link>
			<description><![CDATA[<p>Привожу пример кода двух разных интерфейсов на двух разных каналах передачи данных реализованных в одном контроллере. Код компилируется только под новую библиотеку 3.x.x<br /></p><div class="codebox"><pre><code>#include &lt;SoftwareSerial.h&gt;
#include &lt;RemoteXY.h&gt;

//////////////////////////////////////////
// RemoteXY configurate PROJ 1  
#pragma pack(push, 1)
uint8_t const PROGMEM RemoteXY_CONF_PROGMEM_PROJ1[] =
  { 255,1,0,1,0,27,0,10,13,2,
  1,0,9,9,46,46,6,7,50,50,
  2,31,88,0,65,4,62,16,31,31,
  14,62,35,35 };
  
// this structure defines all the variables and events of your control interface 
struct {

    // input variables
  uint8_t button_1; // =1 if button pressed, else =0 

    // output variables
  uint8_t led_1_r; // =0..255 LED Red brightness 

    // other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0 

} RemoteXY_PROJ1;
#pragma pack(pop)
CRemoteXY *remotexy_PROJ1;

//////////////////////////////////////////
// RemoteXY configurate PROJ 2 
#pragma pack(push, 1)
uint8_t const PROGMEM RemoteXY_CONF_PROGMEM_PROJ2[] =
  { 255,1,0,1,0,27,0,10,13,2,
  1,0,9,9,46,46,6,7,50,50,
  2,31,88,0,65,4,62,16,31,31,
  14,62,35,35 };
  
// this structure defines all the variables and events of your control interface 
struct {

    // input variables
  uint8_t button_1; // =1 if button pressed, else =0 

    // output variables
  uint8_t led_1_r; // =0..255 LED Red brightness 

    // other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0 

} RemoteXY_PROJ2;
#pragma pack(pop)
CRemoteXY *remotexy_PROJ2;

void setup() {

  // external ESP8266 ethernet (not access point)
  remotexy_PROJ1 = new CRemoteXY (
    RemoteXY_CONF_PROGMEM_PROJ1, 
    &amp;RemoteXY_PROJ1, 
    &quot;&quot;, 
    new CRemoteXYConnectionServer (
      new CRemoteXYComm_ESP8266 (
        new CRemoteXYStream_HardSerial (
          &amp;Serial,
          115200
        ),
        &quot;myHomeFiFi&quot;,       // REMOTEXY_WIFI_SSID
        &quot;12345678&quot;),        // REMOTEXY_WIFI_PASSWORD
      6377                  // REMOTEXY_SERVER_PORT
    )
  ); 

  /*
  // if ESP8266 connected to softserial
  remotexy_PROJ1 = new CRemoteXY (
    RemoteXY_CONF_PROGMEM_PROJ1, 
    &amp;RemoteXY_PROJ1, 
    &quot;&quot;, 
    new CRemoteXYConnectionServer (
      new CRemoteXYComm_ESP8266 (
        new CRemoteXYStream_SoftSerial (
          2,       // REMOTEXY_SERIAL_RX
          3,       // REMOTEXY_SERIAL_TX, 
          9600
        ),
        &quot;myHomeFiFi&quot;,       // REMOTEXY_WIFI_SSID
        &quot;12345678&quot;),        // REMOTEXY_WIFI_PASSWORD
      6377                  // REMOTEXY_SERVER_PORT
    )
  ); 
  */

  // Serial (USB or Bluetooth)
  remotexy_PROJ2 = new CRemoteXY (
    RemoteXY_CONF_PROGMEM_PROJ2, 
    &amp;RemoteXY_PROJ2, 
    &quot;&quot;, 
    new CRemoteXYStream_SoftSerial (
      2,       // REMOTEXY_SERIAL_RX
      3,       // REMOTEXY_SERIAL_TX, 
      9600     // REMOTEXY_SERIAL_SPEED
    )
  ); 

  /*
  // for Hard serial
  remotexy_PROJ2 = new CRemoteXY (
    RemoteXY_CONF_PROGMEM_PROJ2, 
    &amp;RemoteXY_PROJ2, 
    &quot;&quot;, 
    new CRemoteXYStream_HardSerial (
      &amp;Serial1,       
      9600     
    )
  );  
  */
}


void loop() {
  remotexy_PROJ1-&gt;handler ();
  remotexy_PROJ2-&gt;handler ();

  if (RemoteXY_PROJ1.button_1 != 0) RemoteXY_PROJ1.led_1_r = 255;
  else RemoteXY_PROJ1.led_1_r = 0;

  if (RemoteXY_PROJ2.button_1 != 0) RemoteXY_PROJ2.led_1_r = 255;
  else RemoteXY_PROJ2.led_1_r = 0;
  

}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (remotexy)]]></author>
			<pubDate>Fri, 23 Apr 2021 13:34:15 +0000</pubDate>
			<guid>https://forum.remotexy.com/viewtopic.php?pid=3872#p3872</guid>
		</item>
		<item>
			<title><![CDATA[Re: Два проекта в одном скетче]]></title>
			<link>https://forum.remotexy.com/viewtopic.php?pid=3871#p3871</link>
			<description><![CDATA[<div class="quotebox"><cite>remotexy wrote:</cite><blockquote><p>Понятно.<br />Думаю что вам не нужно делать два проекта в одном скетче.<br />Вам необходимо реализовать один проект с возможностью одновременного подключения по разным каналам.<br />Это возможно с новой библиотекой 3.x.x<br />Пример есть тут <a target="_blank" href="http://forum.remotexy.com/viewtopic.php?id=1284">http://forum.remotexy.com/viewtopic.php?id=1284</a></p></blockquote></div><p>Мне представляться, что для <strong>Arduino + ESP-01</strong>&nbsp; это решение не имеет перспективы.<br />Причина в том, что:<br /> - объём передаваемых данных&nbsp; возрастает в два раза;<br />-&nbsp; в то же время скорость передачи данных уменьшиться (определяться наименьшей скоростью из двух потоков)<br /> Собственно так и произошло с моим проектом выполненным по вышеприведенной ссылке.</p>]]></description>
			<author><![CDATA[null@example.com (bukinay1)]]></author>
			<pubDate>Fri, 23 Apr 2021 07:25:44 +0000</pubDate>
			<guid>https://forum.remotexy.com/viewtopic.php?pid=3871#p3871</guid>
		</item>
		<item>
			<title><![CDATA[Re: Два проекта в одном скетче]]></title>
			<link>https://forum.remotexy.com/viewtopic.php?pid=3870#p3870</link>
			<description><![CDATA[<p>Понятно.<br />Думаю что вам не нужно делать два проекта в одном скетче.<br />Вам необходимо реализовать один проект с возможностью одновременного подключения по разным каналам.<br />Это возможно с новой библиотекой 3.x.x<br />Пример есть тут <a target="_blank" href="http://forum.remotexy.com/viewtopic.php?id=1284">http://forum.remotexy.com/viewtopic.php?id=1284</a></p>]]></description>
			<author><![CDATA[null@example.com (remotexy)]]></author>
			<pubDate>Fri, 23 Apr 2021 04:25:29 +0000</pubDate>
			<guid>https://forum.remotexy.com/viewtopic.php?pid=3870#p3870</guid>
		</item>
		<item>
			<title><![CDATA[Re: Два проекта в одном скетче]]></title>
			<link>https://forum.remotexy.com/viewtopic.php?pid=3865#p3865</link>
			<description><![CDATA[<p>Хотелось бы понять, будет ли мне ответ, на мой вопрос?!</p>]]></description>
			<author><![CDATA[null@example.com (bukinay1)]]></author>
			<pubDate>Tue, 20 Apr 2021 12:58:44 +0000</pubDate>
			<guid>https://forum.remotexy.com/viewtopic.php?pid=3865#p3865</guid>
		</item>
		<item>
			<title><![CDATA[Re: Два проекта в одном скетче]]></title>
			<link>https://forum.remotexy.com/viewtopic.php?pid=3856#p3856</link>
			<description><![CDATA[<p>Программа одна - это контроллер газового котла. В нем участвую все девять датчиков температуры. Причем четыре из них контролируют температуру окружающей среды. В программе две страницы, присутствует графика. Цикл опроса 5 сек.<br />&nbsp; &nbsp; Добавляю еще одну страницу третью. Это <strong>мониторинг окружающей среды</strong> (<em>назвал некорректно - второй проек</em>т).<br />В этой части программы цикл опроса равный 5 сек. совершенно излишен. Можно сделать раз в минуту или реже<br />&nbsp; &nbsp;Весь проект постоянно подключен по<strong> USB</strong> к <strong>мультимедийной андроид приставке</strong>. Пишется графика<br />С другой стороны, к части этой большой программы, именно <strong>к третьей странице</strong>, я хочу иметь отдельный доступ через смартфон&nbsp; по&nbsp; <strong>WI-FI Ethernet</strong>.<br />&nbsp; &nbsp; Почему так - слишком много переменных, что бы все выводить по двум потокам USB/Bluetooth и <strong>WI-FI Ethernet</strong>.<br />Конфигурация третьей станицы - это есть </p><div class="codebox"><pre><code>uint8_t RemoteXY_CONF[]{...}
.....</code></pre></div><p> для второго проекта</p><p>Если коротко, то программа одна, а конфигураций <strong>RemoteXY</strong> две (<strong>RemoteXY_CONF_1</strong> и <strong>RemoteXY_CONF_2</strong>) и каждая со своим подключением.<br />Вот как то так...</p>]]></description>
			<author><![CDATA[null@example.com (bukinay1)]]></author>
			<pubDate>Fri, 16 Apr 2021 11:49:56 +0000</pubDate>
			<guid>https://forum.remotexy.com/viewtopic.php?pid=3856#p3856</guid>
		</item>
		<item>
			<title><![CDATA[Re: Два проекта в одном скетче]]></title>
			<link>https://forum.remotexy.com/viewtopic.php?pid=3855#p3855</link>
			<description><![CDATA[<p>Не совсем понял как вы хотите объединить. Что вы хотите получить после объединения? Вы хотите что бы в одном контроллере были оба проекта?</p>]]></description>
			<author><![CDATA[null@example.com (remotexy)]]></author>
			<pubDate>Fri, 16 Apr 2021 10:27:09 +0000</pubDate>
			<guid>https://forum.remotexy.com/viewtopic.php?pid=3855#p3855</guid>
		</item>
		<item>
			<title><![CDATA[Два проекта в одном скетче]]></title>
			<link>https://forum.remotexy.com/viewtopic.php?pid=3852#p3852</link>
			<description><![CDATA[<p>В доме произведен монтаж системы из девяти датчиков температуры типа <strong>Ds18b20.</strong><br />Все эти девять датчики используется в проекте для контроля системы отопления выполненном на <strong>Arduino pro mini</strong>.<br />Оптимальным решением является проект с подключением по <strong>USB.</strong><br />Вторым проектом является мониторинг температуры окружающего воздуха. В этом проекте желательно использовать уже смонтированные четыре датчика <strong>Ds18b20</strong> из имеющейся системы контроля.<br />Оптимальным решением для этих датчиков является проект с подключением по <strong>WI-FI Ethernet.</strong><br />Возникает вопрос, каким способом можно объединить два этих проекта в один.</p><p>Итак для первого проекта имеем:<br /></p><div class="codebox"><pre><code>#define REMOTEXY_MODE__HARDSERIAL
   #include &lt;RemoteXY.h&gt;

// настройки соединения 
#define REMOTEXY_SERIAL Serial
#define REMOTEXY_SERIAL_SPEED 19200

// конфигурация интерфейса  
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] ={ // Для каждого проекта своя конфигурация
..................
}
struct {
.......
char text_3; //одни и те же датчики для обоих проектов
} RemoteXY;
#pragma pack(pop)
............</code></pre></div><p>Для второго проекта имеем:<br /></p><div class="codebox"><pre><code>#define REMOTEXY_MODE__ESP8266_SOFTSERIAL
#include &lt;SoftwareSerial.h&gt;
#include &lt;RemoteXY.h&gt;

// настройки соединения 
#define REMOTEXY_SERIAL_RX 5
#define REMOTEXY_SERIAL_TX 4
#define REMOTEXY_SERIAL_SPEED 19200
#define REMOTEXY_WIFI_SSID &quot;XXXXXX&quot;
#define REMOTEXY_WIFI_PASSWORD &quot;password&quot;
#define REMOTEXY_SERVER_PORT 6377

// конфигурация интерфейса  
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] ={// Для каждого проекта своя конфигурация
..................
..................
}
struct {
.......
char text_3; //одни и те же датчики для обоих проектов
} RemoteXY;
#pragma pack(pop)</code></pre></div><p>Переменная </p><div class="codebox"><pre><code>char text_3; //одни и те же  для обоих проектов</code></pre></div><p>Подскажите каким образом можно объединить два этих проекта в один.</p>]]></description>
			<author><![CDATA[null@example.com (bukinay1)]]></author>
			<pubDate>Thu, 15 Apr 2021 17:15:38 +0000</pubDate>
			<guid>https://forum.remotexy.com/viewtopic.php?pid=3852#p3852</guid>
		</item>
	</channel>
</rss>
