<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem realtime</title>
<link>https://forum.pasja-informatyki.pl/tag/realtime</link>
<description>Powered by Question2Answer</description>
<item>
<title>Stworzenie szybkiego chatu pomiędzy użytkownikami</title>
<link>https://forum.pasja-informatyki.pl/565533/stworzenie-szybkiego-chatu-pomiedzy-uzytkownikami</link>
<description>Cześć, mam pytanie, która technologia bylaby najlepsza do stworzenia chatu który by w miarę szybko działał i wyświetlała by niemalże natychmiast odpowiedzi od swojego drugiej osoby? Nie mam zbytnio pomysłu jak to działa, bo wiem, że mogę zrobić X requestów, aby móc to aktualizować, jednak nie jest to za szybkie rozwiązanie, szukałem pewnych bibliotek jednak nie znalazłem żadnej biblioteki do tego.</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/565533/stworzenie-szybkiego-chatu-pomiedzy-uzytkownikami</guid>
<pubDate>Fri, 29 Apr 2022 08:50:13 +0000</pubDate>
</item>
<item>
<title>Flutter - Pobieranie danych z Firebase i tworzenie listy</title>
<link>https://forum.pasja-informatyki.pl/557387/flutter-pobieranie-danych-z-firebase-i-tworzenie-listy</link>
<description>

&lt;p&gt;Cześć. Ostatnio zacząłem robić projekt we Flutterze. Chciałbym zrobić aplikację do kontrolowania domu zdalnie. Wymyśliłem już, że będę ją kontrolować poprzez baze Firebase Realtime db. Do teraz nawet jakoś mi szło, ale w najważniejszym momencie się zgubiłem. Mianowicie potrzebuję pobierać dane z wyżej wspomnianej bazy, następnie tworzyć z nich listę oraz wyświetlać na ekranie w StaggeredGridView. Chciałbym również móc kontrolować stan lampki oraz w przyszłości jej jasność.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;W tym momencie udało mi się utworzyć taki model:&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
import 'package:firebase_database/firebase_database.dart';

class ApplianceBoxModel {
  ApplianceBoxModel({
    this.id,
    this.name,
    this.state,
    this.wifiSsid,
  });

  String id;
  String name;
  bool state;
  String wifiSsid;

  ApplianceBoxModel.fromSnapshot(DataSnapshot snapshot)
      : id = snapshot.key,
        name = snapshot.value['name'],
        state = snapshot.value['state'],
        wifiSsid = snapshot.value['wifi_ssid'];

  toJson() {
    return {
      &quot;name&quot;: name,
      &quot;state&quot;: state,
      &quot;wifi_ssid&quot;: wifiSsid,
    };
  }
}
&lt;/pre&gt;



&lt;p&gt;No i tutaj się pogubiłem. W jaki sposób mogę ściągać dane do tej listy?&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Do tej pory używałem &quot;stałej&quot; listy:&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
  static List&amp;lt;ApplianceBoxModel&amp;gt; getItems() {
    return [
      ApplianceBoxModel(
        name: 'Lampka_1',
        state: false,
      ),
      ApplianceBoxModel(
        name: 'Lampka_2',
        state: false,
      ),
      ApplianceBoxModel(
        name: 'Lampka_3',
        state: false,
      ),
      ApplianceBoxModel(
        name: 'Lampka_4',
        state: false,
      ),
      ApplianceBoxModel(
        name: 'Lampka_5',
        state: false,
      ),
      ApplianceBoxModel(
        name: 'Lampka_6',
        state: false,
      ),
    ];
  }&lt;/pre&gt;



&lt;p&gt;grid_view.dart&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
class MyGridView extends StatefulWidget {
  @override
  _MyGridViewState createState() =&amp;gt; _MyGridViewState();
}

class _MyGridViewState extends State&amp;lt;MyGridView&amp;gt; {
  List&amp;lt;ApplianceBoxModel&amp;gt; applianceBoxModel = Utils.getItems();
  bool zmienna = false;

  @override
  Widget build(BuildContext context) {
    final DatabaseReference _dbref =
        FirebaseDatabase.instance.reference().child(&quot;testowe&quot;);
    return Container(
        margin: EdgeInsets.fromLTRB(18, 20, 18, 18),
        child: StreamBuilder(
          stream: _dbref.onValue,
          builder: (context, snapshot) {
            if (snapshot.hasData &amp;amp;&amp;amp;
                !snapshot.hasError &amp;amp;&amp;amp;
                snapshot.data.snapshot.value != null) {
              print(&quot;DATA: ${snapshot.data.snapshot.value.toString()}&quot;);
              //_dbref.push().set({&quot;name&quot;: &quot;janek&quot;, &quot;surname&quot;: &quot;kowalski&quot;});
            }

            return Container(
              child: StaggeredGridView.countBuilder(
                physics: BouncingScrollPhysics(),
                crossAxisCount: 3,
                itemCount: applianceBoxModel.length,
                itemBuilder: (BuildContext context, int index) {
                  return ApplianceBoxState(
                    applianceBoxModel: applianceBoxModel[index],
                    onDeviceCardClick: () {},
                    isSwitched: zmienna,
                  );
                },
                staggeredTileBuilder: (int index) =&amp;gt;
                    new StaggeredTile.extent(1, 120),
                mainAxisSpacing: 15,
                crossAxisSpacing: 15,
              ),
            );
          },
        ));
  }
}
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Android, Swift, Symbian</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/557387/flutter-pobieranie-danych-z-firebase-i-tworzenie-listy</guid>
<pubDate>Tue, 21 Dec 2021 11:24:45 +0000</pubDate>
</item>
<item>
<title>Nagranie i analiza dzwięku w real-time MATLAB APP DESIGNER</title>
<link>https://forum.pasja-informatyki.pl/494969/nagranie-i-analiza-dzwieku-w-real-time-matlab-app-designer</link>
<description>

&lt;p&gt;Witam.&lt;/p&gt;



&lt;p&gt;Mam problem w App Designer, nie wiem jak nagrać dzwięk (oddech i wydech dokładniej) i analizować go w czasie rzeczywistym. Bardzo proszę o pomoc.&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
% Callbacks that handle component events
    methods (Access = private)

        % Button pushed function: NagrajButton
        function NagrajButtonPushed(app, event)
                 record = dsp.AudioFileReader;                
                 plot(app.UIAxes,record,'-w')
        end
    end&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Inne języki</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/494969/nagranie-i-analiza-dzwieku-w-real-time-matlab-app-designer</guid>
<pubDate>Fri, 19 Jun 2020 12:46:19 +0000</pubDate>
</item>
<item>
<title>Real Time app Vue + symfony</title>
<link>https://forum.pasja-informatyki.pl/475755/real-time-app-vue-symfony</link>
<description>Próbuję zrobić Real time app przy pomocy wyżej wymienionych frameworków. Dzięki reaktywności vue i architekturze symfony jestem w stanie wysłać wiadomość z klienta i wyświetlić ją jednak nie wyświetla się ona na pozostałych klientach. Jak mogę skonfigurować serwer, aby po otrzymaniu żądania od jednego klienta odpowiedź została wysłana do wszystkich klientów?</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/475755/real-time-app-vue-symfony</guid>
<pubDate>Sat, 14 Mar 2020 13:11:24 +0000</pubDate>
</item>
<item>
<title>Firebase, MySQL a czat</title>
<link>https://forum.pasja-informatyki.pl/470453/firebase-mysql-a-czat</link>
<description>Dobry wieczór wszystkim !&lt;br /&gt;
&lt;br /&gt;
Piszę pewien mini portal który jest oparty o Larave, Vue JS oraz MySQL. Do owego portalu chciałbym dodać taki mini czat real-time i.. Tutaj jest pytanie do Was. Czy wykonać coś takiego w MySQL czy jednak użyć do tego Firebase? Z tym drugim nigdy nie miałem styczności ale widzę, że ma różne ciekawe opcje.&lt;br /&gt;
&lt;br /&gt;
Chodzi mi o to, co by było najbardziej optymalne i najszybsze&lt;br /&gt;
&lt;br /&gt;
Druga sprawa to na czym najlepiej wykonać taki projekt ? Mam w miarę dobrą znajomość Laravela i podstawową VueJS ale nie wiem czy nie przenieść się na czyste VueJS oraz Firebase.</description>
<category>SQL, bazy danych</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/470453/firebase-mysql-a-czat</guid>
<pubDate>Fri, 07 Feb 2020 00:42:46 +0000</pubDate>
</item>
<item>
<title>Matlab Java Real Time</title>
<link>https://forum.pasja-informatyki.pl/455916/matlab-java-real-time</link>
<description>

&lt;p&gt;Cześć, wykonuje projekt korzystając z Javy a dokładniej z bilioteki JlibModbus i Matlaba. W Javie mam napisany regulator PID oraz tworzę tam obiekt ModbusMaster i łączę się z symulatorem Modbus, którym jest program mod_RSim pełniący w zasadzie funkcję bazy danych. W Matlabie mam obiekt o pewnej transmitancji i również łączę się z symulatorem poprzez port 502. Wszystko dzieje się póki co na jednym urządzeniu czyli adres IP jest ten sam. Problem mam z symulowaniem czasu. Nie wiem w jaki sposób zamknąć to wszystko w pętlę, żeby cała symulacja działa się cyklicznie w czasie rzeczywistym, lub aby np. jednej sekundzie symulacji odpowiadała jedna minuta czasu rzeczywistego. Cały ten proces można opisać tak:&lt;/p&gt;



&lt;ol&gt;
	

&lt;li&gt;Matlab -&amp;gt; Przesłanie do mod_RSim wartości z wyjścia obiektu&lt;/li&gt;
	

&lt;li&gt;Java -&amp;gt; Pobranie przez program wartości wyjścia obiektu z mod_RSim i obliczenie na podstawie tej wartości i wartości zadanej uchybu sterowania&lt;/li&gt;
	

&lt;li&gt;Java -&amp;gt; Na podstawie uchybu sterowania obliczenie sygnału sterowania i przesłanie go do mod_RSim&lt;/li&gt;
	

&lt;li&gt;Matlab -&amp;gt; Pobranie wartości sygnału sterowania i podanie go na obiekt o określonej transmitancji.&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;Niestety w Simulinku nie można utworzyć żadnego obiektu wspierającego komunikację Modbus TCP, przynajmniej ja o tym nie wiem. Istnieje możliwość połączenia skryptu Matlaba z Simulinkiem, ale również nie wiem jak zamknąć to wszystko w pętlę, żeby działo się to w czasie rzeczywistym&lt;/p&gt;



&lt;p&gt;Przykładowy kod Matlaba wykorzystywanych funkcji:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;gutter:false;&quot;&gt;
t = tcpip('192.168.0.15',502);
fopen(t);
set(t,'Timeout',.5);
transaction_ID=uint8([0 0]);
protocol_ID=uint8([0 0]);
mod_function=uint8([3]); %odczyt n rejestrow
mod_message=uint8([0 0 0 3]); 
len=length([mod_function mod_message]);
data_length=uint8([0 len+1]); %ilosc bajtow function+message+unitID
unit_ID = uint8([1]);
mess=[transaction_ID protocol_ID data_length unit_ID mod_function mod_message]
fwrite(t,mess)
A = fread(t);
wartosc_zerowy_rejestr = A(10)*256+A(11)
%wartosc zapisana jest na dwoch bajtach, dlatego pierwszy bajt mnozymy razy
%256, jesli chcemy pobrac kolejna liczbe to bierzemy indeksy o 2 wieksze
fclose(t);&lt;/pre&gt;



&lt;p&gt;Kod Javy:&lt;/p&gt;



&lt;pre class=&quot;brush:java;&quot;&gt;
public class MasterTCP {
    static public void main(String[] args) {
        try {
            ModbusMaster m = ModbusMasterFactory.createModbusMasterTCP(new TcpParameters(&quot;192.168.0.15&quot;, 502, true));
            Modbus.setAutoIncrementTransactionId(true);

            int slaveId = 2;
            int offset = 0;
            int quantity = 10;

            try {
                if (!m.isConnected()) {
                    m.connect();
                }

                int value = 122;
                m.writeSingleRegister(slaveId, 0, value);

            } catch (ModbusProtocolException e) {
                e.printStackTrace();
            } catch (ModbusNumberException e) {
                e.printStackTrace();
            } catch (ModbusIOException e) {
                e.printStackTrace();
            } finally {
                try {
                    m.disconnect();
                } catch (ModbusIOException e) {
                    e.printStackTrace();
                }
            }
        } catch (RuntimeException e) {
            throw e;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}&lt;/pre&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=61453427236196093&quot; style=&quot;height:410px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>Java</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/455916/matlab-java-real-time</guid>
<pubDate>Wed, 30 Oct 2019 10:05:21 +0000</pubDate>
</item>
<item>
<title>Live Chat real time</title>
<link>https://forum.pasja-informatyki.pl/432169/live-chat-real-time</link>
<description>Witam.&lt;br /&gt;
&lt;br /&gt;
Planuję stworzyć chat real time pomiędzy 2 użytkownikami.&lt;br /&gt;
&lt;br /&gt;
Na backend podobno PHP w takich sprawach jest oporne bo AJAX musi co jakis czas sprawdzać czy jest nowa wiadomość.&lt;br /&gt;
&lt;br /&gt;
Szukam rozwiązania które pozwoli mi na odświeżenie chatu tylko i wyłącznie wtedy gdy dostaniemy nową wiadomość. Coś tam czytałem o node.js oraz socket.io, jednak w node jestem dość cienki, o wiele lepiej czuję się w PHP.&lt;br /&gt;
&lt;br /&gt;
Co polecacie?</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/432169/live-chat-real-time</guid>
<pubDate>Mon, 27 May 2019 13:56:08 +0000</pubDate>
</item>
</channel>
</rss>