ਰਸਬੇਰੀ ਪਾਈ 'ਤੇ Qt 4
Qt ਦੀ ਵਰਤੋਂ ਅਕਸਰ ਗ੍ਰਾਫਿਕ ਇੰਟਰਫੇਸਾਂ ਨੂੰ ਵਿਕਸਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। Qt ਵਿੱਚ ਗਰਾਫਿਕਲ ਇੰਟਰਫੇਸ ਬਣਾਉਣ ਲਈ C ++ ਲਾਇਬਰੇਰੀਆਂ ਹੁੰਦੀਆਂ ਹਨ, ਜਿਹਨਾਂ ਨੂੰ ਵੱਖ-ਵੱਖ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮਾਂ ਉੱਤੇ ਕੰਪਾਇਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਕਿਉਂਕਿ ਇਸ ਕੰਪਾਇਲੇਸ਼ਨ ਲਈ ਬਹੁਤ ਸਾਰੀ ਕੰਪਿਊਟਿੰਗ ਪਾਵਰ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਇਸ ਲਈ ਇਹ ਸਲਾਹ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਮੁਕਾਬਲਤਨ ਘੱਟ ਪਾਵਰ ਵਾਲੇ ਪ੍ਰੋਸੈਸਰਾਂ ਨੂੰ ਹੋਸਟ ਕੰਪਿਊਟਰ 'ਤੇ ਵਿਕਾਸ ਅਤੇ ਸੰਕਲਨ ਨੂੰ ਪੂਰਾ ਕੀਤਾ ਜਾਵੇ ਅਤੇ ਫਿਰ ਹੀ ਤਿਆਰ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਟਾਰਗੇਟ ਕੰਪਿਊਟਰ 'ਤੇ ਲੋਡ ਕੀਤਾ ਜਾਵੇ।
ਰਸਬੇਰੀ ਪਾਈ ੩ ਅਤੇ ਪਾਈ ੪ ਮਾਡਲਾਂ ਲਈ ਕਿਊਟੀ ਐਪਲੀਕੇਸ਼ਨ ਵਿਕਸਤ ਕਰਨ ਲਈ ਬਹੁਤ ਸਾਰੀਆਂ ਹਦਾਇਤਾਂ ਆਨਲਾਈਨ ਹਨ।
ਬਦਕਿਸਮਤੀ ਨਾਲ, ਮੈਨੂੰ ਉਹ ਨਹੀਂ ਮਿਲਿਆ ਜੋ ਰਸਬੇਰੀ ਪਾਈ 4 ਅਤੇ ਸਾਡੀਆਂ ਲੋੜਾਂ ਲਈ ਨਿਰਵਿਘਨ ਕੰਮ ਕਰੇ।
ਇਹ ਹਦਾਇਤਾਂ ਬਹੁਤ ਜ਼ਿਆਦਾ https://github.com/abhiTronix/raspberry-pi-cross-compilers/blob/master/QT_build_instructions.md 'ਤੇ ਅਧਾਰਤ ਹਨ ਅਤੇ ਕੁਝ ਥਾਵਾਂ' ਤੇ ਸੋਧੀਆਂ ਗਈਆਂ ਹਨ ਤਾਂ ਜੋ ਇਹ ਮੇਰੇ ਲਈ ਕੰਮ ਕਰੇ।
ਵਰਜਨ 5.15.2 Qt ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਮੈਂ ਇੱਕ Ubuntu 20.0.4 LTS ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ ਜੋ ਕਿ vmware ਵਿੱਚ ਕਰਾਸ-ਕੰਪਾਇਲੇਸ਼ਨ ਲਈ ਹੋਸਟ ਕੰਪਿਊਟਰ ਦੇ ਤੌਰ ਤੇ ਇੰਸਟਾਲ ਹੁੰਦਾ ਹੈ।
ਇਹ ਕੰਪਿਊਟ ਮਾਡਿਊਲ ੪ ਤੇ ਰਸਬੇਰੀ ਪਾਈ ਓਐਸ ਲਾਈਟ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਲਈ ਇੱਕ ਗਾਈਡ ਹੈ। ਇੱਕ ਵਰਕ ਕੰਪਿਊਟਰ ਵਜੋਂ, ਮੈਂ ਇੱਕ ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਵਿੱਚ ਇੰਸਟਾਲ 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" ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਚਾਹੁੰਦਾ ਸੀ, ਜਿਸ ਦੀ ਵਰਤੋਂ ਸ਼ੈੱਲ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਕਾਲ ਕਰਨ ਅਤੇ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਲੀਨਕਸ ਵਾਲੇ ਪਾਸੇ, ਮੈਂ ਪਹਿਲਾਂ ਹੀ ਇਸ ਨੂੰ ਕਈ ਵਾਰ ਸਫਲਤਾਪੂਰਵਕ ਵਰਤ ਚੁੱਕਾ ਸੀ - ਪਰ ਵਿੰਡੋਜ਼ 'ਤੇ ਇਹ ਪਹਿਲਾਂ ਪਹਿਲ ਕੰਮ ਨਹੀਂ ਕਰ ਸਕਿਆ।