ਰਾਸਬੇਰੀ ਪਾਈ 4 'ਤੇ Qt
ਕਿਊਟੀ ਦੀ ਵਰਤੋਂ ਅਕਸਰ ਐਮਬੈਡਡ ਐਚਐਮਆਈ ਲਈ ਗ੍ਰਾਫਿਕ ਇੰਟਰਫੇਸ ਵਿਕਸਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। Qt ਵਿੱਚ ਗ੍ਰਾਫਿਕਲ ਇੰਟਰਫੇਸ ਬਣਾਉਣ ਲਈ C ++ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹੁੰਦੀਆਂ ਹਨ ਜਿੰਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਵੱਖ-ਵੱਖ ਆਪਰੇਟਿੰਗ ਸਿਸਟਮਾਂ 'ਤੇ ਸੰਕਲਿਤ ਕਰ ਸਕਦੇ ਹੋ।
ਕਿਉਂਕਿ ਇਸ ਸੰਕਲਨ ਨੂੰ ਬਹੁਤ ਸਾਰੀ ਕੰਪਿਊਟਿੰਗ ਸ਼ਕਤੀ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਇਸ ਲਈ ਮੁਕਾਬਲਤਨ ਘੱਟ ਸ਼ਕਤੀ ਵਾਲੇ ਪ੍ਰੋਸੈਸਰਾਂ ਲਈ ਇਹ ਸਲਾਹ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਉਹ ਹੋਸਟ ਕੰਪਿਊਟਰ 'ਤੇ ਵਿਕਾਸ ਅਤੇ ਸੰਕਲਨ ਨੂੰ ਪੂਰਾ ਕਰਨ ਅਤੇ ਫਿਰ ਹੀ ਤਿਆਰ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਟੀਚੇ ਵਾਲੇ ਕੰਪਿਊਟਰ 'ਤੇ ਲੋਡ ਕਰਨ.
ਰਾਸਬੇਰੀ ਪਾਈ 3 ਅਤੇ ਪਾਈ 4 ਮਾਡਲਾਂ ਲਈ ਕਿਊਟੀ ਐਪਲੀਕੇਸ਼ਨ ਵਿਕਸਤ ਕਰਨ ਲਈ ਆਨਲਾਈਨ ਬਹੁਤ ਸਾਰੀਆਂ ਹਦਾਇਤਾਂ ਹਨ.
ਬਦਕਿਸਮਤੀ ਨਾਲ, ਮੈਨੂੰ ਕੋਈ ਅਜਿਹਾ ਨਹੀਂ ਮਿਲਿਆ ਜੋ ਰਾਸਬੇਰੀ ਪਾਈ 4 ਅਤੇ ਸਾਡੀਆਂ ਜ਼ਰੂਰਤਾਂ ਲਈ ਨਿਰਦੋਸ਼ ਕੰਮ ਕਰਦਾ ਸੀ.
ਇਹ ਹਿਦਾਇਤਾਂ https://github.com/abhiTronix/raspberry-pi-cross-compilers/blob/master/QT_build_instructions.md 'ਤੇ ਅਧਾਰਤ ਹਨ ਅਤੇ ਕੁਝ ਥਾਵਾਂ 'ਤੇ ਸੋਧੀਆਂ ਗਈਆਂ ਹਨ ਤਾਂ ਜੋ ਇਹ ਮੇਰੇ ਲਈ ਕੰਮ ਕਰੇ।
Qt ਸੰਸਕਰਣ 5.15.2 ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਅਤੇ ਮੈਂ ਕਰਾਸ-ਸੰਕਲਨ ਲਈ ਹੋਸਟ ਕੰਪਿਊਟਰ ਵਜੋਂ VMware ਵਿੱਚ ਇੰਸਟਾਲ ਕੀਤੇ Ubuntu 20.0.4 LTS ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ।
ਇਹ ਕੰਪਿਊਟ ਮਾਡਿਊਲ ੪ ਤੇ ਰਸਬੇਰੀ ਪਾਈ ਓਐਸ ਲਾਈਟ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਲਈ ਇੱਕ ਗਾਈਡ ਹੈ। ਇੱਕ ਵਰਕ ਕੰਪਿਊਟਰ ਵਜੋਂ, ਮੈਂ ਇੱਕ ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਵਿੱਚ ਇੰਸਟਾਲ Ubuntu 20 ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ।
ਇਹ ਰਸਬੇਰੀ ਪਾਈ 4 ਲਈ Qt 5.15.2 ਨੂੰ ਕਰਾਸ-ਕੰਪਾਇਲ ਕਰਨ ਅਤੇ ਇਸ ਨੂੰ ਕੰਪਿਊਟ ਮਾਡਿਊਲ 4 'ਤੇ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਇੱਕ ਗਾਈਡ ਹੈ। ਇਹ ਰਸਬੇਰੀ ਪਾਈ 4 'ਤੇ Qt ਪੋਸਟ Qt 'ਤੇ ਮੇਰੇ ਬਲੌਗ ਪੋਸਟ ਲਈ ਇੱਕ ਅੱਪਡੇਟ ਹੈ, ਇਸ ਫਰਕ ਦੇ ਨਾਲ ਕਿ ਇਸ ਵਾਰ ਮੈਂ ਰਸਬੇਰੀ ਪਾਈ OS ਲਾਈਟ ਦੀ ਵਰਤੋਂ ਕਰ ਰਿਹਾ ਹਾਂ।
ਇਹ ਰਸਬੇਰੀ ਪਾਈ 4 ਲਈ ਕਰੌਸ-ਕੰਪਾਇਲਡ Qt ਲਾਇਬਰੇਰੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਅਤੇ ਰਸਬੇਰੀ ਲਈ ਐਪਲੀਕੇਸ਼ਨਾਂ ਬਣਾਉਣ ਲਈ Qt-Creator ਨੂੰ ਕੌਨਫਿੱਗਰ ਕਰਨ ਲਈ ਇੱਕ ਗਾਈਡ ਹੈ।
ਇਸ ਗਾਈਡ ਵਿੱਚ ਅਸੀਂ ਤੁਹਾਨੂੰ ਜਾਣਕਾਰੀ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਾਂ, Qt ਨੂੰ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਇੱਕ Yocto ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਕਿਵੇਂ ਸੈੱਟਅੱਪ ਕਰਨਾ ਹੈ ਅਤੇ ਰਸਬੇਰੀ ਪਾਈ 4 ਲਈ ਇੱਕ Qt ਡੈਮੋ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਕਿਵੇਂ ਸੈੱਟਅੱਪ ਕਰਨਾ ਹੈ ਅਤੇ ਫੇਰ ਇਸ Qt ਡੈਮੋ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਆਟੋਸਟਾਰਟ ਕਰਨਾ ਹੈ।
ਇਸ ਪੰਨੇ 'ਤੇ ਅਸੀਂ ਸਕ੍ਰਿਪਟਾਂ ਲਈ ਡਾਊਨਲੋਡ ਲਿੰਕ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਾਂ ਤਾਂ ਜੋ ਲੀਨਕਸ ਹੋਸਟ ਅਤੇ ਰਸਬੇਰੀ ਪਾਈ 4 'ਤੇ ਕਰਾਸ ਕੰਪਾਇਲਿੰਗ ਨੂੰ ਆਟੋਮੈਟਿਕਲੀ ਸੈੱਟ ਅੱਪ ਕੀਤਾ ਜਾ ਸਕੇ ਅਤੇ ਇੱਕ ਵੇਰਵਾ, ਇਹਨਾਂ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ।
ਇਸ ਬਲੌਗ ਵਿੱਚ, ਮੈਂ TCP/IP ਉੱਤੇ ਮੋਡਬੱਸ ਕੁਨੈਕਸ਼ਨ ਦੀ ਉਦਾਹਰਨ ਵਜੋਂ ਇੱਕ ਛੋਟੀ Qt Quick ਐਪਲੀਕੇਸ਼ਨ (qml) ਪ੍ਰਦਾਨ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹਾਂ।
Qt ਉਦਾਹਰਨਾਂ ਵਿੱਚ, ਮੈਨੂੰ Modbus ਕੁਨੈਕਸ਼ਨਾਂ ਲਈ QWidget ਉਦਾਹਰਨਾਂ ਹੀ ਮਿਲੀਆਂ ਹਨ, ਅਤੇ ਹਾਲ ਹੀ ਵਿੱਚ ਇਸ ਦੇ ਲਈ Qt Quick ਐਪਲੀਕੇਸ਼ਨ ਬਣਾਉਣ ਤੋਂ ਬਾਅਦ, ਮੈਂ ਇੱਕ ਉਦਾਹਰਨ ਦੇ ਤੌਰ ਤੇ ਇਸਦਾ ਇੱਕ ਪਤਲਾ-ਡਾਊਨ ਸੰਸਕਰਣ ਪ੍ਰਦਾਨ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹਾਂ।
ਜੇਕਰ ਤੁਸੀਂ ਰਸਬੇਰੀ ਪਾਈ 4 ਲਈ Qt ਐਪਲੀਕੇਸ਼ਨ - ਜਾਂ ਕੋਈ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ - ਬਣਾਈ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਅਕਸਰ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਰਸਬੇਰੀ ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਤੋਂ ਤੁਰੰਤ ਬਾਅਦ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਕਾਲ ਕੀਤਾ ਜਾਵੇ।
ਇਹ ਅਕਸਰ ਸ਼ੁਰੂਆਤੀ ਸਕ੍ਰਿਪਟਾਂ ਨਾਲ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜੋ ਵੱਖ-ਵੱਖ ਥਾਵਾਂ ਤੇ ਦਰਜ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ।
ਪਰ, ਇਸਨੂੰ ਸਿਸਟਮ ਰਾਹੀਂ ਸਥਾਪਤ ਕਰਨਾ ਵਧੇਰੇ ਵਾਜਬ ਹੈ।
ਕੰਮ ਇੱਕ ਟੱਚ ਕੰਟਰੋਲਰ ਨੂੰ ਨਵੇਂ ਫਰਮਵੇਅਰ ਨੂੰ ਅੱਪਲੋਡ ਕਰਨ ਲਈ Qt Quick ਐਪਲੀਕੇਸ਼ਨ (GUI) ਲਿਖਣਾ ਸੀ।
ਅੱਪਲੋਡ ਸਾੱਫਟਵੇਅਰ ਨਿਰਮਾਤਾ ਦੁਆਰਾ ਇੱਕ .exe ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਸੀ ਜੋ ਟੱਚ ਕੰਟਰੋਲਰ 'ਤੇ ਇੱਕ .bin ਫਾਈਲ ਲੋਡ ਕਰਦਾ ਹੈ।
ਮੈਂ Qt ਕਲਾਸਾਂ "QProcess" ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਚਾਹੁੰਦਾ ਸੀ, ਜਿਸ ਦੀ ਵਰਤੋਂ ਸ਼ੈੱਲ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਕਾਲ ਕਰਨ ਅਤੇ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਲੀਨਕਸ ਵਾਲੇ ਪਾਸੇ, ਮੈਂ ਪਹਿਲਾਂ ਹੀ ਇਸ ਨੂੰ ਕਈ ਵਾਰ ਸਫਲਤਾਪੂਰਵਕ ਵਰਤ ਚੁੱਕਾ ਸੀ - ਪਰ ਵਿੰਡੋਜ਼ 'ਤੇ ਇਹ ਪਹਿਲਾਂ ਪਹਿਲ ਕੰਮ ਨਹੀਂ ਕਰ ਸਕਿਆ।