امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 3
  • 1
  • 2
  • 3
  • 4
  • 5
ارسال اطلاعات به qt از پایتون
نویسنده پیام
nImaarek آفلاین
badtrip
****

ارسال‌ها: 144
موضوع‌ها: 61
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #1
ارسال اطلاعات به qt از پایتون
سلام،
یه سناریو داریم که قراره از پورت  (مثلا) سریال یک سری اعداد و ارقام بیاد و ورودی برنامه شماره یک ( که با سی نوشته شده ) باشه بعدش یک سری عملیات روی این اعداد اعمال بشه و خروجی برنامه شماره یک، میشه ورودی برنامه شماره دو ( که با پایتون نوشته شده) دوباره یک سری اعملیات و بعد هم خروجی باید با یه UI  یا هر چی نمایش داده بشه !
 
خب سوال های زیادی دارم  (:
اول اینکه فکر کنم میشه پایتون داخل سی استفاده کرد( این لینک ) به نظرتون چقدر این روش میتونه جواب بده ؟! اگه خدایی نکرده وسط راه اینتراپت پایتون کرش کرد یا هر اتفاق دیگه ای نمیشه هندلش کرد درسته ؟ راه دیگه سراغ ندارید ؟!
 
سوال دوم وقتی خروجی از برنامه شماره دو بیرون میاد و قراره نمایش داده بشه، خب مثلا ما قراره از qml استفاده کنیم، چطوری میتونم اطلاعات از پایتون بگیرم بدم به qt ؟ خب میشه از فایل استفاده کرد، فکر کنم دیتابیس هم بشه... اما میشه اطلاعات از رم خوند ؟ یا انتقال داد ؟
۲۹-آبان-۱۳۹۵, ۱۲:۴۸:۱۸
وب سایت ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #2
RE: ارسال اطلاعات به qt از پایتون
نقل قول: یه سناریو داریم که قراره از پورت  (مثلا) سریال یک سری اعداد و ارقام بیاد و ورودی برنامه شماره یک ( که با سی نوشته شده ) باشه بعدش یک سری عملیات روی این اعداد اعمال بشه و خروجی برنامه شماره یک، میشه ورودی برنامه شماره دو ( که با پایتون نوشته شده) دوباره یک سری اعملیات و بعد هم خروجی باید با یه UI  یا هر چی نمایش داده بشه !

یه برنامه دارد بنام c  (که با سی نوشته شده) که در پس ضمینه میمونه تا از پورت سریال اطلاعات بگیره
یه برنامه دارید بنام p (که یک اسکریپت پایتون هست) که فقط وقتی اجرا میشه که برنامه سی میخواد اطلاعاتی که گرفته و پردازش شده رو بده بهش

و بعدش برنامه p   این اطلاعات رو گرفت خودش نشون میده یا دوباره میفرسته به برنامه c ؟

قرار برنامه رو شخصی خودتون اجرا کنید در به صورت عمومی پابلیک کنید؟

سوال بعدی اینکه منظورتون از qt چیه؟ در پایتون qt استفاه کردید یا در برنامه سی؟


این سوالات رو جواب بدین تا بشه بهتر راهنمایی کرد
۲۹-آبان-۱۳۹۵, ۱۳:۰۵:۵۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : nImaarek
nImaarek آفلاین
badtrip
****

ارسال‌ها: 144
موضوع‌ها: 61
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #3
RE: ارسال اطلاعات به qt از پایتون
نقل قول: یه برنامه دارد بنام c  (که با سی نوشته شده) که در پس ضمینه میمونه تا از پورت سریال اطلاعات بگیره
یه برنامه دارید بنام p (که یک اسکریپت پایتون هست) که فقط وقتی اجرا میشه که برنامه سی میخواد اطلاعاتی که گرفته و پردازش شده رو بده بهش

و بعدش برنامه p   این اطلاعات رو گرفت خودش نشون میده یا دوباره میفرسته به برنامه c ؟

بله

نقل قول: قرار برنامه رو شخصی خودتون اجرا کنید در به صورت عمومی پابلیک کنید؟

پابلیک خیر، ولی خودم در حال نوشتن هستم

نقل قول: سوال بعدی اینکه منظورتون از qt چیه؟ در پایتون qt استفاه کردید یا در برنامه سی؟


مهم qml هست و فرقی نمیکنه سی باشه یا پایتون، ما به گرافیکش نیاز داریم
ولی فکر میکنم سی باشه

یه چیزی رو که یادم رفت بگم همه موارد قراره تو لینوکس اتفاق بیافته !
۲۹-آبان-۱۳۹۵, ۱۶:۱۴:۴۰
وب سایت ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #4
RE: ارسال اطلاعات به qt از پایتون
نقل قول: یه چیزی رو که یادم رفت بگم همه موارد قراره تو لینوکس اتفاق بیافته !
خیلی هم خوب و عالی و قشنگ و شیک Biggrin
نقل قول:
نقل قول: و بعدش برنامه p   این اطلاعات رو گرفت خودش نشون میده یا دوباره میفرسته به برنامه c ؟

بله


بهترین مدلی که میتونم پیشنهاد بدم tcp/ip هستش؛ برنامه پایتون شما منتظر ارتباطات از جانب برنامه سی میمونه؛ و بعد اطلاعات رو میخونه و پردازش میکنه و دوباره میفرسته به برنامه‌ی سی؛
(آخرین ویرایش در این ارسال: ۲۹-آبان-۱۳۹۵, ۱۷:۲۱:۰۷، توسط babyy. دلیل ویرایش: اصلاح شد QML )
۲۹-آبان-۱۳۹۵, ۱۶:۴۷:۱۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : nImaarek
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #5
RE: ارسال اطلاعات به qt از پایتون
اینم واسه اینکه میخوایی از qml توی پایتون استفاده کنی:
http://stackoverflow.com/questions/36093...-qml-table

به صورت دینامیکی میتونی اطلاعات اضافه کنی به عناصر qml
۲۹-آبان-۱۳۹۵, ۱۷:۲۷:۱۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : nImaarek
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #6
RE: ارسال اطلاعات به qt از پایتون
در تکمیل صحبتهای baby عزیز
پایتون خودش کتابخانه هایی برای کار کردن با انواع پورتها رو داره
یک توضیع پایتون برای کار با QT هست بنام pyqt میتونین از اون استفاده کنید از QTdesigner هم پشتیبانی میکنه خودش سایت داره و مثال زیادی هم داره

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۳۰-آبان-۱۳۹۵, ۱۲:۰۰:۵۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, nImaarek
nImaarek آفلاین
badtrip
****

ارسال‌ها: 144
موضوع‌ها: 61
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #7
RE: ارسال اطلاعات به qt از پایتون
(۲۹-آبان-۱۳۹۵, ۱۶:۴۷:۱۶)babyy نوشته است: بهترین مدلی که میتونم پیشنهاد بدم tcp/ip هستش؛ برنامه پایتون شما منتظر ارتباطات از جانب برنامه سی میمونه؛ و بعد اطلاعات رو میخونه و پردازش میکنه و دوباره میفرسته به برنامه‌ی سی؛

پیشنهاد خوبیه !  :():
یعنی شما میگی از وب سرور به عنوان واسط استفاده کنیم ؟ یا اینکه یه ارتباط کلاینت، سروری ؟


(۳۰-آبان-۱۳۹۵, ۱۲:۰۰:۵۷)lord_viper نوشته است: در تکمیل صحبتهای baby عزیز
پایتون خودش کتابخانه هایی برای کار کردن با انواع پورتها رو داره
یک توضیع  پایتون برای کار با QT هست بنام pyqt میتونین از اون استفاده کنید از QTdesigner هم پشتیبانی میکنه خودش سایت داره و مثال زیادی هم داره

آره منتها فکر کنم فقط برای سریال داره، ما از CAN و SPI استفاده کردیم..
درسته قضیه نمایش میشه با pyqt درسته کرد مرسی  :(): 


اما یکی از دوستانم تو تلگرام سه تا روش دیگه پیشنهاد داد. استفاده از دیتابیس، فایل، memory و یه برنامه واسط.
راجع به ارتباط از طریق memory میشه یه توضیحی بدین و اینکه به نظرتون از همه روش های که پیشنهاد شده کدوم روش بهتره ؟ چیزی که برای ما مهم هست اول استفاده کم از منابع و در نهایت سرعت هست.
۳۰-آبان-۱۳۹۵, ۱۲:۲۴:۴۰
وب سایت ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #8
RE: ارسال اطلاعات به qt از پایتون
وب سرور نه؛ کلاینت سرور


نقل قول: اما یکی از دوستانم تو تلگرام سه تا روش دیگه پیشنهاد داد. استفاده از دیتابیس، فایل، memory و یه برنامه واسط.

با دیتابیس چطوری میشه انجامش داد؟

برنامه c اطلاعات رو بفرسته به دیتابیس و بعد چطوری به برنامه p بگه اطلاعات رو ریختم توی دیتابیس و حالا تو پردازشش کن؟
این روش یدونه بانک اطلاعاتی + یدونه ارتباط tcp بیشتری نیاز داه (c به دیتا بیس و p به دیتابیس)


با فایل هم به دوروش قابل اجراست؛
روش اول اینکه فایل ورودی رو به عنوان آرگومان به برنامه بده و هربار برنامه p رو اجرا بزنه؛ که این  بار پردازشی میندازه روی سیستمت؛ به ازای ۱۰۰ تا ورودی ۱۰۰ بار باید بنرامه‌ات تو حافظه لود بشه!!

روش دوم اگه هم برنامه p در پس زمینه هستی و منتظر فایل ورودیه که هون مشکل دیتابیس پیش میاد! یعنی اینکه چطوری میخوایی برنامه بگی فلان فایل رو بخون؟ با tcp ؟
 خب اگه با tcp میخوایی بهش بگی فلان فایل رو بخون که میشه همون مدل tcp/ip !! فقط سیستم فایل رو این وسط بیشتر از پیش درگیر میکنی!!!

در مورد memory هم پیاده سازیش برای share کردن مموری بین چندتا پروسه مختلف (در صورتی که بشه - من تا الان فکر میکردم نمیشه (هنوزم همین فکر رو میکنم البته اگه منظورش RPC نبوده باشه Biggrin )) سخت میشه



این روشهایی که دوستتون فرمودند رو اگه به عنوان روش مکمل استفاده کنید بهتره؛ مثلا اطلاعاتی که برنامه c‌ میخواد بفرسته رو اول از همه یکجا ذخیره کنه (توی فایل یا دیتابیس و ..) تا اگه برنامه p مشکلی پیس اومد واسش اطلاعات از بین نره و .. از این دست مسایل..


--------------------
دوستتون رو دعوت کنید به اینحا از اطلاعات همدیگه استفاده کنید؛ Biggrin  الکی یکم هم تعریف کنید از اینجا بگید خیلی خوبه  و.. شیرینی شما هم محفوظ Biggrin Biggrin
(آخرین ویرایش در این ارسال: ۳۰-آبان-۱۳۹۵, ۱۵:۳۱:۲۳، توسط babyy.)
۳۰-آبان-۱۳۹۵, ۱۵:۲۵:۲۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : nImaarek
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #9
RE: ارسال اطلاعات به qt از پایتون
(۳۰-آبان-۱۳۹۵, ۱۲:۲۴:۴۰)nImaarek نوشته است: آره منتها فکر کنم فقط برای سریال داره، ما از CAN و SPI استفاده کردیم..
درسته قضیه نمایش میشه با pyqt درسته کرد مرسی  :(): 
پایتون برای کار با هر پورتی کنتبخانه و کلاس داره کافیه یه جستجوی ساده روی نت انجام بدین
لینک زیر ارتباط با SPI
http://raspberrypi-aa.github.io/session3/spi.html

اگه سرعت براتون مهم هست همه برنامه رو با C و QT بنویسین
نقل قول: اما یکی از دوستانم تو تلگرام سه تا روش دیگه پیشنهاد داد. استفاده از دیتابیس، فایل، memory و یه برنامه واسط.
راجع به ارتباط از طریق memory میشه یه توضیحی بدین و اینکه به نظرتون از همه روش های که پیشنهاد شده کدوم روش بهتره ؟ چیزی که برای ما مهم هست اول استفاده کم از منابع و در نهایت سرعت هست.
هم در روش دیتابیس هم مموری ریسک خیلی بالاس چون برنامه ولی نمیدونه برنامه دوم اطلاعات رو خونده یا نه و اطلاعات overwrite بشه از بین میره و ضمن اینکه سرعت این روشها بسیار پایین هست
بهترین روش انجام کلیه عملیاتها در یک برنامه واحد هست
اگه دلیل خاصی دارین که از 2 برنامه مجزی استفاده کنید بیان کنید
اگه تو ویندوز هست میتونین برای ارتباط از WM_COPY استفاده کنید اینجوری اطلاعات به سرعت منتقل میشه و امکان از دست رفتن اطلاعات از بین میره
با این حال شما باید یک برنامه واحد استفاده کنید نه 2 برنامه

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۰۱-آذر-۱۳۹۵, ۱۱:۰۵:۵۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, nImaarek
nImaarek آفلاین
badtrip
****

ارسال‌ها: 144
موضوع‌ها: 61
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #10
RE: ارسال اطلاعات به qt از پایتون
نقل قول: پایتون برای کار با هر پورتی کنتبخانه و کلاس داره کافیه یه جستجوی ساده روی نت انجام بدین
لینک زیر ارتباط با SPI

مرسی منتها اجازه بدید یکم با این کتابخونه کار کنم و اینکه یه بررسی کنم...

نقل قول: بهترین روش انجام کلیه عملیاتها در یک برنامه واحد هست
اگه دلیل خاصی دارین که از 2 برنامه مجزی استفاده کنید بیان کنید
اگه تو ویندوز هست میتونین برای ارتباط از WM_COPY استفاده کنید اینجوری اطلاعات به سرعت منتقل میشه و امکان از دست رفتن اطلاعات از بین میره
با این حال شما باید یک برنامه واحد استفاده کنید نه 2 برنامه

دلیل خاصی که، خب حجم کاری خیلی بالاست یعنی این دوبرنامه فقط دو مرحله از کل کار پروژه ماست و فعلا در حال تست هستیم.
داخل لینوکس هستیم خوشبختانه.

استفاده از memory و دیتابیس سرعت کمتری نسبت به فایل داره ؟!
۰۱-آذر-۱۳۹۵, ۱۳:۲۷:۴۰
وب سایت ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #11
RE: ارسال اطلاعات به qt از پایتون
شما باید برنامتونو به صورت ماژولار بنویسین یا قابلیت اضافه کردن پلاگین رو بهش بدین تا بتونین فاز به فاز که جلو میرین به راحتی برنامه رو گسترش بدین یا اینکه چند نفر به صورت موازی بتونن روش کار کنن بدون اینکه نیازی به تغییر کدهای قبلی باشه

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۰۲-آذر-۱۳۹۵, ۱۰:۴۹:۲۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, nImaarek


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Wink کد ساخت chart و گراف با پایتون و tkinter alimogmov 0 0 ۱۰-اسفند-۱۴۰۲, ۰۱:۵۶:۰۷
آخرین ارسال: alimogmov
  [سوال] استفاده از DEBUG_EVENT در پایتون nImaarek 2 2,401 ۲۰-اردیبهشت-۱۳۹۵, ۰۰:۵۶:۴۴
آخرین ارسال: babyy
  مشکل با کتابخانه Socket در پایتون behzady 0 1,997 ۱۶-دى-۱۳۹۲, ۱۳:۱۰:۱۸
آخرین ارسال: behzady

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 8 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS